anchor.diff:  
       let inner = function
       | MethodCall(_, Pair(x, rest)) ->
  -      let pipeLeft = pipeLeft.MakeGenericMethod([| typeof<unit>; retType |])
         let v = Var("v", t)
         let c = Var("c", typeof<FlowControl>)
         let cont =
           Expr.IfThenElse(
             Expr.Call(info, [Expr.Var(v)]),
  -          Expr.Call(pipeLeft, [ rest; <@@ () @@> ]),
  +          Expr.Application(rest, <@@ () @@>),
             Expr.NewTuple([ Expr.Var(v); <@@ Break @@>]))
         let flow =
           Expr.IfThenElse(
  
positive.code: 
      let inner = function
      | MethodCall(_, Single f) ->
        let pipeLeft = pipeLeft.MakeGenericMethod([| typeof<unit>; retType |])
        Expr.TupleGet(Expr.Call(pipeLeft, [ f; <@@ () @@> ]), 0)
      | exprs -> failwithf "oops!: %A" exprs
  
      ProvidedMethod("Run", [parameter], info.ReturnType, IsStaticMethod = false, InvokeCode = inner)
  
negative.code: 
      ProvidedMethod("Zero", [], retType, IsStaticMethod = false, InvokeCode = inner)
  
    let genCombine (methods: MethodInfo []) =
  
      let originalName = "continuable"
  