anchor.diff:                  shader
           )
   
  +    let runShader name createInput createOutput f =
  +        pipeline {
  +            let! shader = getShader name createInput createOutput
  +            return! shader.Run f
  +        }
  +
   open Pipeline
   
   // *****************************************
  
positive.code: 
      let pipeline = PipelineBuilder ()
  
      let run context p =
          match p with
          | Pipeline f -> f context
  
negative.code: 
      member this.Delay (f: unit -> Pipeline<'a>) : Pipeline<'a> = 
          Pipeline (fun context -> match f () with | Pipeline x -> x context)
  
      member this.ReturnFrom (Pipeline x : Pipeline<'a>) : Pipeline<'a> =
          Pipeline x
  
      member this.Return (x: 'a) : Pipeline<'a> =
          Pipeline (fun _ -> x)
  