anchor.diff:          |=> Inherits ArrayBufferView
           |+> [
                   Constructor T<unit>
  -                Constructor T<uint64>
  +                Constructor T<int>
                   Constructor self
                   Constructor (Type.ArrayOf elementType)
  -                Constructor (ArrayBuffer?buffer * !? T<uint64>?byteOffset * !? T<uint64>?length)
  -                "BYTES_PER_ELEMENT" =? T<uint64>
  -            ]
  -        |+> Protocol [
  -                "length" =? T<uint64>
  +                Constructor (ArrayBuffer?buffer * !? T<int>?byteOffset * !? T<int>?length)
  +                "BYTES_PER_ELEMENT" =? T<int>
  +            ]
  +        |+> Protocol [
  +                "length" =? T<int>
                   "get" =>
  -                    T<uint64>?offset ^-> elementType
  +                    T<int>?offset ^-> elementType
                       |> WithInline "$this[$offset]"
                   "set" =>
  -                    T<uint64>?offset * elementType?value ^-> T<unit>
  +                    T<int>?offset * elementType?value ^-> T<unit>
                       |> WithInline "void($this[$offset]=$value)"
  -                "set" => (Type.ArrayOf self)?array * !? T<uint64>?offset ^-> T<unit>
  -                "set" => (Type.ArrayOf elementType)?array * !? T<uint64>?offset ^-> T<unit>
  -                "subarray" => T<int64>?``begin`` * T<int64>?``end`` ^-> self
  +                "set" => self?array * !? T<int>?offset ^-> T<unit>
  +                "set" => (Type.ArrayOf elementType)?array * !? T<int>?offset ^-> T<unit>
  +                "subarray" => T<int64>?``begin`` * T<int>?``end`` ^-> self
               ]
   
       let Int8Array = MakeTypedArray "Int8Array" T<sbyte>
  
positive.code: 
  module TypedArrays =
  
      let ArrayBuffer =
          let ArrayBuffer = Type.New()
          Class "ArrayBuffer"
          |=> ArrayBuffer
          |+> Protocol [
                  "byteLength" =? T<uint64>
                  /// Warning: although part of the spec, may not work in IE10 as of 6/6/2013.
                  "slice" => T<uint64> * T<uint64> ^-> ArrayBuffer
              ]
          |+> [ Constructor T<uint64> ]
  
      let ArrayBufferView =
          Class "ArrayBufferView"
          |+> Protocol
              [
                  "buffer" =? ArrayBuffer
                  "byteOffset" =? T<uint64>
                  "byteLength" =? T<uint64>
              ]
  
      let private MakeTypedArray typedArray (elementType: Type.Type) =
  
negative.code:                 General.MessagePort
                  General.UndoManager
                  General.Window
                  TypedArrays.DataView.Class
                  TypedArrays.ArrayBuffer
                  TypedArrays.ArrayBufferView
                  TypedArrays.Float32Array
  