anchor.diff:        then id
         else closureMap.GetOrAdd(clrType, closureMap.Count)
   
  +  member x.GetClassId () = 
  +    System.Threading.Interlocked.Increment(ref classId) 
  +
     //Static
     static member Create sa eg =
       let env = new Environment(sa, eg)
  -    env.Globals <- new Object()
  +    env.Globals <- new Object(env.BaseClass)
       env
   
   and [<StructLayout(LayoutKind.Explicit)>] Box =
  
positive.code:     #endif
    end
  
  (*Class representing a Javascript native object*)
  and [<AllowNullLiteral>] Object =
    val mutable Properties : Box array
  
    new() = {
      Properties = Array.zeroCreate<Box> 4
    }
  
  
negative.code:   let astMap = new Dict<int, Ast.Types.Scope * Ast.Node>()
    let closureMap = new SafeDict<ClrType, int>()
    let delegateCache = new SafeDict<DelegateCell, System.Delegate>()
    let classId = 0
    let baseClass = new Class(0, new Dict<string, int>())
  
    //Implementation of IEnvironment.GetDelegate
    member x.GetDelegate (func:Function) delegateType types =
  