anchor.diff:                    
     let mutable classId = 0
     let closureMap = new Dict<ClrType, int>()
  -  let mutable delegateCache2 = Map.empty<int * int * nativeint, System.Delegate>
  +  let mutable delegateCache = Map.empty<int * int * nativeint, System.Delegate>
   
     [<DefaultValue>] val mutable Globals : Object
     [<DefaultValue>] val mutable UndefinedBox : Box
  
positive.code:       let scope       = scopeAnalyzer scope closureType types
        let lambdaExpr  = exprGenerator x delegateType closureType scope ast
        let compiled    = lambdaExpr.Compile()
        delegateCache2 <- Map.add cacheKey compiled delegateCache2
        compiled
    
    member x.GetClosureId clrType = 
  
negative.code: 
    member x.GetDelegate (func:Function) (delegateType:ClrType) types =
      let cacheKey = (func.AstId, func.ClosureId, delegateType.TypeHandle.Value)
      match Map.tryFind cacheKey delegateCache with
      | Some(cached) -> cached
      | None -> 
        let scope, ast  = x.AstMap.[func.AstId]
  