anchor.diff:  
   tuple : '{' exprs? '}' ;
   
  +mapExpr : exprMax? '#' mapTuple
  +        | mapExpr  '#' mapTuple ;
  +
  +mapTuple : '{' (mapField (',' mapField)*)? '}' ;
  +
  +mapField : mapFieldAssoc
  +         | mapFieldExact ;
  +
  +mapFieldAssoc : mapKey '=>' expr ;
  +
  +mapFieldExact : mapKey ':=' expr ;
  +
  +mapKey : expr ;
   
   /* struct : tokAtom tuple ; */
   
  
positive.code: functionClause : tokAtom clauseArgs clauseGuard clauseBody ;
  
  
  clauseArgs : argumentList ;
  
  clauseGuard : ('when' guard)? ;
  
  
negative.code: 
  specFun :             tokAtom
          | tokAtom ':' tokAtom
          ;
  
  typedAttrVal : expr ','  typedRecordFields
  