anchor.diff:    Inline Caches
     =======================================================*)
     
  -    (* ==== Inline cache for property get operations ==== *)
  +    (*==== Inline cache for property get operations ====*)
   and GetCache =
     val mutable Name : string
     val mutable ClassId : int
  
positive.code:   }
  
    member x.Update (obj:Object, value:Box byref, env:Environment) =
      obj.Set(x, ref value)
      if x.ClassId <> obj.ClassId then
        obj.Put(x, ref value, env)
  
    static member New(name:string) =
      let cache = Dlr.Expr.constant (new SetCache(name))
      (
        cache, 
        Expr.field cache "ClassId", 
        Expr.field cache "Index", 
        Expr.field cache "Crawler"
      )
      
      (* ==== Inline cache for object create options ==== *)
  and NewCache =
    val mutable Class : Class
    val mutable ClassId : int
  
negative.code: 
    static member New(name:string) =
      let cache = Dlr.Expr.constant (new GetCache(name))
      cache, 
      Expr.field cache "ClassId", 
      Expr.field cache "Index", 
      Expr.field cache "Crawler"
      
      (*==== Inline cache for property set operations ====*)
  and SetCache =
    val mutable Name : string
    val mutable ClassId : int
  