anchor.diff:  
         //Build key and try to find an already cached crawler
         let cacheKey = throwToggle :: wasFoundToggle :: obj.ClassId :: classIds
  -      let success, cached = env.GetCrawlers.TryGetValue cacheKey
   
         let crawler = 
  -        //If we found a cached crawler use it
  -        if success then cached 
  -
  -        //Else build a new one
  -        else
  +        match Map.tryFind cacheKey env.GetCrawlers with
  +        | Some(cached) -> cached
  +        | None -> 
             //Parameters
             let x' = Expr.paramT<GetCache> "~x"
             let obj' = Expr.paramT<Object> "~obj"
  
positive.code:       else
          //Build key and try to find an already cached crawler
          let cacheKey = obj.ClassId :: classIds
          let success, cached = env.SetCrawlers.TryGetValue cacheKey
  
          let crawler =
            //Yay we found one, so 
            //let's use it
            if success then cached
  
            //Or not... we have to
            //build a new one
            else
              //Parameters
              let x' = Expr.paramT<SetCache> "~x"
              let obj' = Expr.paramT<Object> "~obj"
  
negative.code:             )
  
            //Compile and to add it to cache
            env.GetCrawlers <- Map.add cacheKey (lambda.Compile()) env.GetCrawlers
            env.GetCrawlers.[cacheKey]
  
        //Setup cache to be ready for next hit
  