anchor.diff:    [<DefaultValue>] val mutable Function_prototype : Object
   
     [<DefaultValue>] val mutable AstMap : Map<int, Ast.Types.Scope * Ast.Node>
  -  [<DefaultValue>] val mutable GetCrawlers : Dict<int list, GetCrawler>
  -  [<DefaultValue>] val mutable SetCrawlers : Dict<int list, SetCrawler>
  +  [<DefaultValue>] val mutable GetCrawlers : Map<int list, GetCrawler>
  +  [<DefaultValue>] val mutable SetCrawlers : Map<int list, SetCrawler>
   
     member x.GetDelegate (func:Function) delegateType types =
       let cell = new DelegateCell(func.AstId, func.ClosureId, delegateType)
  
positive.code:             )
  
            //Compile and to add it to cache
            env.GetCrawlers.[cacheKey] <- lambda.Compile()
            env.GetCrawlers.[cacheKey]
  
        //Setup cache to be ready for next hit
  
negative.code:       else
          //Build key and try to find an already cached crawler
          let cacheKey = obj.ClassId :: classIds
  
          let crawler =
            match Map.tryFind cacheKey env.SetCrawlers with
            | Some(cached) -> cached
            | None ->
              //Parameters
              let x' = Expr.paramT<SetCache> "~x"
              let obj' = Expr.paramT<Object> "~obj"
  