anchor.diff:      Scopes = scopes
     }
   
  -    (* ==== Class representing a javascript function ==== *)
  +    (*==== Class representing a javascript function ====*)
   and [<AllowNullLiteral>] Function =
     inherit Object
   
  
positive.code:   }
  
    member x.Put (cache:SetCache, value:Box byref, env:Environment) =
      if cache.ClassId <> x.ClassId then
        x.Class   <- x.Class.GetSubClass(cache.Name, env.GetClassId())
        x.ClassId <- x.Class.ClassId
  
        if x.Class.Variables.Count > x.Properties.Length then
          let newProperties = Array.zeroCreate<Box> (x.Properties.Length * 2)
          System.Array.Copy(x.Properties, newProperties, x.Properties.Length)
          x.Properties <- newProperties
  
        x.Set(cache, ref value)
  
    member x.Set (cache:SetCache, value:Box byref) =
      let success, index = x.Class.GetIndex cache.Name
  
negative.code:   static member New(class') =
      new NewCache(class')
      
      (*==== Inline cache for function invocation ====*)
  and InvokeCache<'a> when 'a :> Delegate and 'a : null =
    val mutable AstId : int
    val mutable ClosureId : int
  