anchor.diff:      ;
   
   classStatement
  -    : attributes propertyModifiers typeHint? variableInitializer (',' variableInitializer)* SemiColon
  -    | attributes memberModifiers? Const typeHint? identifierInitializer (',' identifierInitializer)* SemiColon
  -    | attributes memberModifiers? Function '&'? identifier
  -          typeParameterListInBrackets? '(' formalParameterList ')' baseCtorCall? methodBody
  +    : attributes? ( propertyModifiers typeHint? variableInitializer (',' variableInitializer)* SemiColon
  +                  | memberModifiers? ( Const typeHint? identifierInitializer (',' identifierInitializer)* SemiColon
  +                                     | Function '&'? identifier typeParameterListInBrackets? '(' formalParameterList ')'
  +                                       baseCtorCall? methodBody))
       | Use qualifiedNamespaceNameList traitAdaptations
       ;
   
  
positive.code:     ;
  
  formalParameter
      : attributes memberModifier? QuestionMark? typeHint? '&'? '...'? variableInitializer
      ;
  
  typeHint
  
negative.code:     ;
  
  globalConstantDeclaration
      : attributes? Const identifierInitializer (',' identifierInitializer)* SemiColon
      ;
  
  expressionList
  