anchor.diff:      let logs = defaultArg logs_ Map.empty
       let sourceFiles = defaultArg sourceFiles_ [||]
       let dependencies = defaultArg dependencies_ [||]
  -//    let directives = defaultArg directives_ [||]
  -//    member __.Directives: Directive array = directives
  +    let directives = [||] // defaultArg directives_ [||]
  +    member __.Directives: Directive array = directives
       member __.SourceType: string = sourceType
       member __.Body: U2<Statement, ModuleDeclaration> array = body
       // Properties below don't belong to babel specs
  
positive.code: /// A block statement, i.e., a sequence of statements surrounded by braces.
  type BlockStatement(body, ?loc) = // ?directives_,
      inherit Statement("BlockStatement", ?loc = loc)
  //    let directives = defaultArg directives_ [||]
      member __.Body: Statement array = body
  //    member __.Directives: Directive array = directives
      override _.Print(printer) =
          printer.PrintBlock(body)
  
  
negative.code: //    inherit Node("Decorator", ?loc = loc)
  //    member __.Value = value
  //
  type DirectiveLiteral(value, ?loc) =
      inherit Literal("DirectiveLiteral", ?loc = loc)
      member __.Value: string = value
      override _.Print(_) = failwith "not implemented"
  
  /// e.g. "use strict";
  type Directive(value, ?loc) =
      inherit Node("Directive", ?loc = loc)
      new (str, ?loc) = Directive(DirectiveLiteral str, ?loc = loc)
      member __.Value: DirectiveLiteral = value
      override _.Print(_) = failwith "not implemented"
  
  // Program
  
  