anchor.diff:          | Expr.Lambda _ | Expr.TyLambda _ | Expr.Obj _ -> 
               let isLocalTypeFunc = Option.isSome selfv && (IsNamedLocalTypeFuncVal cenv.g (Option.get selfv) e)
               let selfv = (match e with Expr.Obj _ -> None | _ when isLocalTypeFunc -> None | _ -> Option.map mkLocalValRef selfv)
  -            let clo,_,eenvclo =  GetIlxClosureInfo cenv cgbuf.mgbuf m isLocalTypeFunc selfv {eenv with  letBoundVars=(mkLocalValRef boundv)::eenv.letBoundVars}  e 
  +            let clo,_,eenvclo =  GetIlxClosureInfo cenv m isLocalTypeFunc selfv {eenv with  letBoundVars=(mkLocalValRef boundv)::eenv.letBoundVars}  e 
               clo.cloFreeVars |> List.iter (fun fv -> 
                   if Zset.contains fv forwardReferenceSet then 
                       match StorageForVal m fv eenvclo with
  
positive.code:     let takenNames = vs |> List.map (fun v -> v.CompiledName)
  
      // Get the free variables and the information about the closure, add the free variables to the environment
      let (cloAttribs,cloInternalFreeTyvars,cloContractFreeTyvars,_,cloFreeVars,ilCloTypeRef,ilCloFreeVars,eenvinner) = GetIlxClosureFreeVars cenv mgbuf m selfv eenvouter takenNames expr
  
      // Put the type and value arguments into the environment
      let rec getClosureArgs eenv ntmargs tvsl (vs:Val list) = 
  
negative.code:         let eenvUnderTypars = AddTyparsToEnv methTyparsOfOverridingMethod eenvinner
          let methodParams = List.concat methodParams
          let methodParamsNonSelf = match methodParams with [] -> [] | _::t -> t // drop the 'this' arg when computing better argument names for IL parameters
          let ilParamsOfOverridingMethod,ilReturnOfOverridingMethod = GenActualSlotsig m cenv eenvUnderTypars slotsig methTyparsOfOverridingMethod methodParamsNonSelf 
          let ilAttribs = GenAttrs cenv eenvinner attribs
  
          // Args are stored starting at #1
          let eenvForMeth = AddStorageForLocalVals cenv.g (methodParams  |> List.mapi (fun i v -> (v,Arg i)))  eenvUnderTypars
          let ilMethodBody = CodeGenMethodForExpr cenv cgbuf.mgbuf (SPAlways,[],nameOfOverridenMethod,eenvForMeth,0,0,methodBodyExpr,(if slotSigHasVoidReturnTy slotsig then discardAndReturnVoid else Return))
  
          let nameOfOverridingMethod,methodImplGenerator = GenMethodImpl cenv eenvinner (useMethodImpl,slotsig) methodBodyExpr.Range
  
          let mdef = 
              mkILGenericVirtualMethod
  