anchor.diff:  
   // *****************************************
   // *****************************************
  -// Shader
  -// *****************************************
  -// *****************************************
  -
  -type Shader<'Input, 'Output> = Shader of 'Input * 'Output * ShaderProgram
  -
  -type Pipeline<'a> = private Pipeline of (unit -> 'a)
  -
  -type PipelineBuilder () =
  -
  -    member this.Bind (Pipeline x : Pipeline<'a>, f: 'a -> Pipeline<'b>) : Pipeline<'b> = 
  -        f (x ())
  -
  -    member this.Delay (f: unit -> Pipeline<'a>) : Pipeline<'a> = 
  -        Pipeline (fun _ -> match f () with | Pipeline x -> x ())
  -
  -    member this.Return (x: 'a) : Pipeline<'a> =
  -        Pipeline (fun _ -> x)
  -
  -    member this.Zero () : Pipeline<unit> =
  -        Pipeline (fun _ -> ())
  -
  -type Shader<'Input, 'Output> with
  -
  -    member this.Run f =
  -        match this with
  -        | Shader (input, output, program) ->
  -
  -            Pipeline (
  -                fun () ->
  -                    f input
  -                    program.Draw ()
  -                    output
  -            )
  -
  -module Pipeline =
  -
  -    let pipeline = PipelineBuilder ()
  -
  -open Pipeline
  -
  -// *****************************************
  -// *****************************************
   // Texture
   // *****************************************
   // *****************************************
  
positive.code:             {
                  Buffer = buffer
              }
  
  // *****************************************
  // *****************************************
  
negative.code: // *****************************************
  // *****************************************
  
  type ShaderProgramCache () =
      let cache = Dictionary<string, ShaderProgram> ()
  
      member this.GetOrCreateShader (name: string) =
  