anchor.diff:          varEnv        : Map<Var,Expression>
           letrec        : option<Var>
       }
  -    let asExpr x = (x :> Expression), None
  +
  +    type ConvResult =
  +    | AsExpression of Expression
  +    | AsLetRecExpression of ParameterExpression * Expression * Expression
  +
  +
  +    let asExpr x = AsExpression x
       let asExpression x = (x :> Expression)
   
       let bindingFlags = BindingFlags.Public ||| BindingFlags.NonPublic
  
positive.code:             | 21 -> typedefof<FuncHelper<_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_>>.MakeGenericType args
              | _ -> raise <| new NotSupportedException("Quotation expressions with statements or closures containing more then 20 free variables may not be translated in this release of the F# PowerPack. This is due to limitations in the variable binding expression forms available in LINQ expression trees")
              
  
      let LetRec1Helper (F1:System.Func<_,_,_>) (B:System.Func<_,_>) = 
          let fhole = ref (Unchecked.defaultof<_>)
          let f = new System.Func<_,_>(fun x -> F1.Invoke(fhole.Value,x))
  
negative.code: 
                  let lambdaEnv =
                      { env with
                           letrec = None
                           varEnv =
                              let environmentVariables =
                                  varParameters
  