anchor.diff:      let Conv (e:#Expr, eraseEquality) =
           let e = optimize e
   
  -        let linqExpr = ConvExpr { eraseEquality = eraseEquality; varEnv = Map.empty; letrec = None } e
  +        let linqExpr = ConvExpr { eraseEquality = eraseEquality; varEnv = Map.empty } e
   
           Expression.Lambda(linqExpr, Expression.Parameter(typeof<unit>)) |> asExpression
   
  
positive.code:                             Expression.PropertyOrField(theFuncObject, "State"),
                              state) |> asExpression;
  
                      if letRecVar.IsSome then
                          AsLetRecExpression (theFuncObject, assignToConstruction, assignState)
                      else
                          Expression.Block (
  
negative.code:                 | [] ->
                      let obj = ``constructor``.Invoke [| ``function`` |]
                      let func = Expression.Constant (obj) 
                      if letrec.IsSome then
                          // TODO: Simplify this; I only really need to return theFuncObject
                          AsLetRecExpression (
                              theFuncObject,
  