anchor.diff:      | ClassImplicitConstructor | ClassFunction | ClassGetter | ClassSetter
   
   type ClassMethod =
  -    {
  -        Kind: string
  -        Key: Expression
  -        Params: Pattern array
  -        Body: BlockStatement
  -        Computed: bool
  -        Static: bool option
  -        Abstract: bool option
  -        ReturnType: TypeAnnotation option
  -        TypeParameters: TypeParameterDeclaration option
  -        Loc: SourceLocation option
  -    }
  +    { Kind: string
  +      Key: Expression
  +      Params: Pattern array
  +      Body: BlockStatement
  +      Computed: bool
  +      Static: bool option
  +      Abstract: bool option
  +      ReturnType: TypeAnnotation option
  +      TypeParameters: TypeParameterDeclaration option
  +      Loc: SourceLocation option }
  +
       static member AsClassMember(kind_, key, ``params``, body, ?computed_, ?``static``, ?``abstract``, ?returnType, ?typeParameters, ?loc) : ClassMember =
           let kind =
               match kind_ with
  
positive.code:             | ExportNamedDeclaration(d) -> printer.Print(d)
              | PrivateModuleDeclaration(d) -> printer.Print(d)
              | ExportDefaultDeclaration(d) -> printer.Print(d)
  
  
  /// Not in Babel specs
  type EmitExpression =
  
negative.code:     { Types: TypeAnnotationInfo array }
  
      static member AsTypeAnnotationInfo(types): TypeAnnotationInfo = { Types = types } |> UnionTypeAnnotation
  
      interface IPrintable with
          member this.Print(printer) =
              printer.PrintArray(this.Types, (fun p x -> p.Print(x)), (fun p -> p.Print(" | ")))
  