anchor.diff:      | MAX OPEN_BRACE DISTINCT? expression CLOSE_BRACE -> ^(MAX DISTINCT* expression)
       | AVG OPEN_BRACE DISTINCT? expression CLOSE_BRACE -> ^(AVG DISTINCT* expression)
       | SAMPLE OPEN_BRACE DISTINCT? expression CLOSE_BRACE -> ^(SAMPLE DISTINCT? expression)
  -    | GROUP_CONCAT OPEN_BRACE DISTINCT? expression ( SEMICOLON SEPARATOR '=' string )? CLOSE_BRACE -> ^(GROUP_CONCAT DISTINCT* expression string*)
  +    | GROUP_CONCAT OPEN_BRACE DISTINCT? expression ( SEMICOLON SEPARATOR EQUAL string )? CLOSE_BRACE -> ^(GROUP_CONCAT DISTINCT* expression string*)
       ;
       
   iriRefOrFunction
  -    : iriRef argList? -> ^(FUNCTION iriRef ^(ARG_LIST argList)?)
  +    : iriRef 
  +    | iriRef argList -> ^(FUNCTION iriRef ^(ARG_LIST argList))
       ;
   
   rdfLiteral
  
positive.code:     ;
  
  argList
      : ( nil | OPEN_BRACE DISTINCT? expression ( COMMA expression )* CLOSE_BRACE ) -> DISTINCT? nil* expression*
      ;
  
  expressionList
  
negative.code:     ;
  
  constraint
      : brackettedExpression
      | builtInCall
      | functionCall
      ;
  
  functionCall
  