anchor.diff:          abstract defineProperty: o: obj * propertyKey: obj * attributes: PropertyDescriptor -> obj
   
       and [<AllowNullLiteral>] Math =
  -        abstract E: float with get, set
  -        abstract LN10: float with get, set
  -        abstract LN2: float with get, set
  -        abstract LOG2E: float with get, set
  -        abstract LOG10E: float with get, set
  -        abstract PI: float with get, set
  -        abstract SQRT1_2: float with get, set
  -        abstract SQRT2: float with get, set
  +        abstract E: float
  +        abstract LN10: float
  +        abstract LN2: float
  +        abstract LOG2E: float
  +        abstract LOG10E: float
  +        abstract PI: float
  +        abstract SQRT1_2: float
  +        abstract SQRT2: float
           abstract abs: x: float -> float
           abstract acos: x: float -> float
           abstract asin: x: float -> float
  
positive.code:         abstract setUint16: byteOffset: int * value: uint16 * ?littleEndian: bool -> unit
          abstract setUint32: byteOffset: int * value: uint32 * ?littleEndian: bool -> unit
  
      // TODO: Add constructors for other typed arrays from buffer?
      and [<AllowNullLiteral>] DataViewConstructor =
          [<Emit("new $0($1...)")>] abstract Create: buffer: ArrayBuffer * ?byteOffset: int * ?byteLength: float -> DataView
  
      and [<AllowNullLiteral>] Console =
          abstract ``assert``: ?test: bool * ?message: string * [<ParamArray>] optionalParams: obj[] -> unit
  
negative.code:     let [<Global>] clearInterval (token: int): unit = jsNative
      let [<Emit("debugger")>] debugger () : unit = jsNative
      let [<Emit("void 0")>] undefined<'a> : 'a = jsNative
  
      let [<Global>] Array: ArrayConstructor = jsNative
      let [<Global>] DataView: DataViewConstructor = jsNative
      let [<Global>] ArrayBuffer: ArrayBufferConstructor = jsNative
      let [<Global>] ArrayBufferView: ArrayBufferViewConstructor = jsNative
      let [<Global>] Int8Array: Int8ArrayConstructor = jsNative
      let [<Global>] Uint8Array: Uint8ArrayConstructor = jsNative
      let [<Global>] Uint8ClampedArray: Uint8ClampedArrayConstructor = jsNative
      let [<Global>] Int16Array: Int16ArrayConstructor = jsNative
      let [<Global>] Uint16Array: Uint16ArrayConstructor = jsNative
      let [<Global>] Int32Array: Int32ArrayConstructor = jsNative
      let [<Global>] Uint32Array: Uint32ArrayConstructor = jsNative
      let [<Global>] Float32Array: Float32ArrayConstructor = jsNative
      let [<Global>] Float64Array: Float64ArrayConstructor = jsNative
      let [<Global>] BigInt64Array: BigInt64ArrayConstructor = jsNative
      let [<Global>] BigUint64Array: BigUint64ArrayConstructor = jsNative
  