anchor.diff:  //    | _ -> instance      
         | _ -> failwithf "Unexpected type: %s" (mtype.ToString())
   
  -let makeSingleWalker (f: obj -> obj -> string list -> unit) (mtype: Type) (path: string list) : Expr =
  +let makeWalkerLambdaExpr (f: obj -> obj -> string list -> unit) (mtype: Type) (path: string list) : Expr =
       let arg1 = Var("x", mtype, false)
       let useArg1 = Expr.Var(arg1)
       let arg2 = Var("y", mtype, false)
  
positive.code: open Microsoft.FSharp.Reflection
  open Microsoft.FSharp.Quotations
  
  // Note: Sequence N Exprs for speedup
  let returnNotUnitSecond (_: 'a) (v2: 'b) = v2
  let sequenceExprs (expr1: Expr) (expr2: Expr) =
      let meth = (getMethod <@ returnNotUnitSecond X X @>).MakeGenericMethod([|expr1.Type; expr2.Type|])
      Expr.Call(meth, [expr1; expr2])
  
  let sequenceLambda (t1: Type) (t2: Type)=
      let instance1Var = Var("instance1", t1, false)
  
negative.code: 
  let generateWalker<'T> (f: obj -> obj -> string list -> unit) : ('T -> 'T -> unit) =
      let baseType = typeof<'T>
      let contents = makeWalkerLambdaExpr f baseType []
      let castExpr : Expr<'T -> 'T -> unit> = contents |> Expr.Cast
      castExpr.Compile()
  
  
  