anchor.diff:  
     member x.Update (obj:Object, env:Environment) =
       let box = obj.Get(x, env)
  -    if x.ClassId <> obj.ClassId then
  +
  +    //We found what we were looking for
  +    if x.ClassId = obj.ClassId then
  +      box
  +
  +    //If not...
  +    else
  +      //Check if a prototype has it
         let index, classIds = obj.PrototypeHas x.Name
   
  +      //The constants -4 and -2 here could be anything
  +      //They are used to differ types of configurations
  +      //from eachother in the lambdaCache SafeDict key
         let throwToggle = if x.ThrowOnMissing then -4 else -2
         let wasFoundToggle = if index < 0 then -4 else -2
   
  +      //Build key and try to find an already cached crawler
         let cacheKey = throwToggle :: wasFoundToggle :: obj.ClassId :: classIds
         let success, cached = lambdaCache.TryGetValue cacheKey
   
         let crawler = 
  -        if success then cached
  +        //If we found a cached crawler use it
  +        if success then cached 
  +
  +        //Else build a new one
           else
  +          //Parameters
             let cache = Expr.paramT<GetCache> "~cache"
             let object' = Expr.paramT<Object> "~object"
             let env' = Expr.paramT<Environment> "~env"
  
positive.code:           let classIdEq expr n =
              Expr.eq (Expr.field expr "ClassId") (Expr.constant n)
  
            let conditions = 
              (Expr.andChain
                (List.mapi 
  
negative.code:   
      (*==== Inline cache for property get operations ====*)
  and GetCache(name) as x =
  
    [<DefaultValue>] val mutable Name : string
    [<DefaultValue>] val mutable ClassId : int
    [<DefaultValue>] val mutable Index : int
  