anchor.diff:    [<DefaultValue>] val mutable AstMap : Map<int, Ast.Types.Scope * Ast.Node>
     [<DefaultValue>] val mutable GetCrawlers : Map<int list, GetCrawler>
     [<DefaultValue>] val mutable SetCrawlers : Map<int list, SetCrawler>
  +  [<DefaultValue>] val mutable PropertyMaps : Map<int, PropertyMap>
   
     [<DefaultValue>] val mutable ReturnBox : Box
   
  
positive.code:     (*==== Inline cache for property get operations ====*)
  and GetCache =
    val mutable Name : string
    val mutable ClassId : int
    val mutable Index : int
    val mutable Crawler : GetCrawler
    val mutable ThrowOnMissing : bool
  
    new(name) = {
      Name = name
      ClassId = -1
      Index = -1
      Crawler = null
      ThrowOnMissing = false
  
negative.code:   static member New(name:string) =
      let cache = Dlr.Expr.constant (new GetCache(name))
      cache, 
      Expr.field cache "MapId", 
      Expr.field cache "Index", 
      Expr.field cache "Crawler"
      
      (*==== Inline cache for property set operations ====*)
  and SetCache =
    val mutable Name : string
    val mutable MapId : int
    val mutable Index : int
    val mutable Crawler : SetCrawler
  
    new(name) = {
      Name = name
      MapId = -1
      Index = -1
      Crawler = null
    }
  