anchor.diff:      do
           let compileCtx = { Schema = schema; TypeMap = schema.TypeMap; FieldExecuteMap = fieldExecuteMap }
           runMiddlewares (fun x -> x.CompileSchema) compileCtx compileSchema
  +        runMiddlewares (fun x -> x.PostCompileSchema) (upcast schema) ignore
           match Validation.validate schema.TypeMap with
           | Validation.Success -> ()
           | Validation.Error errors -> raise (GraphQLException (System.String.Join("\n", errors)))
  
positive.code: type SchemaCompileMiddleware = 
      SchemaCompileContext -> (SchemaCompileContext -> unit) -> unit
  
  /// A function signature that represents a middleware for operation planning phase.
  /// I takes two arguments: A planning context, containing all the data used for the
  /// planning phase, and another function that can be called to pass
  
negative.code:     member __.CreateExecutionPlan(queryOrMutation: string, ?operationName: string, ?meta : Metadata) =
          let meta = defaultArg meta Metadata.Empty
          let ast = parse queryOrMutation
          createExecutionPlan (ast, operationName, meta)
  