anchor.diff:  /// 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_ [||]
  +    let directives = [||] // defaultArg directives_ [||]
  +    member __.Directives: Directive array = directives
       member __.Body: Statement array = body
  -//    member __.Directives: Directive array = directives
       override _.Print(printer) =
           printer.PrintBlock(body)
   
  
positive.code: //    inherit Node("Decorator", ?loc = loc)
  //    member __.Value = value
  //
  //type DirectiveLiteral(value, ?loc) =
  //    inherit Literal("DirectiveLiteral", ?loc = loc)
  //    member __.Value: string = value
  
  /// 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
  
  // Program
  
  
negative.code:     let logs = defaultArg logs_ Map.empty
      let sourceFiles = defaultArg sourceFiles_ [||]
      let dependencies = defaultArg dependencies_ [||]
      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
  