anchor.diff:      member _.Id: Identifier = id
       member _.ReturnType: TypeAnnotation option = returnType
       member _.TypeParameters: TypeParameterDeclaration option = typeParameters
  -    member _.Loc: SourceLocation option = loc
       interface Declaration with
           member _.Print(printer) =
               printer.PrintFunction(Some id, ``params``, body, typeParameters, returnType, loc, isDeclaration=true)
  
positive.code:     member _.Callee: Expression = callee
      // member _.Arguments: Choice<Expression, SpreadElement> array = arguments
      member _.Arguments: Expression array = arguments
      member _.Loc: SourceLocation option = loc
      interface Expression with
          member _.Print(printer) =
              printer.AddLocation(loc)
  
negative.code:     member _.Name: string = name
      member _.Optional: bool option = optional
      member _.TypeAnnotation: TypeAnnotation option = typeAnnotation
      interface PatternExpression with
          member _.Name = name
          member _.Print(printer) =
  