anchor.diff:          member x.AddCache (name : string) (value : Option<obj>) =
               if enableCacheWrites then x.cache.[name] <- value
               value
  +
  +        #if DEBUGSCOPES 
  +        override x.Finalize() =
  +            if not <| allScopes.Remove (System.WeakReference<_>(x :> obj)) then printfn "scope not registered"
  +        #endif
           
           member x.Path = 
               match x.path with
  
positive.code:         inherit System.Attribute()
  
      let mutable unpack : obj -> obj = id
  
      [<ReferenceEquality>]
      type Scope = { parent       : Option<Scope>
                     source       : obj
  
negative.code: ﻿namespace Aardvark.Base
  
  open System.Collections.Generic
  open System.Runtime.CompilerServices
  