anchor.diff:              if value < (1u <<< 16) then
                   [| Format.UInt16
                      byte (value >>> 8)
  -                   byte ((value <<< 8) >>> 8) |]
  +                   byte (value &&& 0x00FFu) |]
               else
                   [| Format.UInt32
                      byte (value >>> 24)
  -                   byte (((value >>> 16) <<< 24) >>> 24)
  -                   byte (((value >>> 8) <<< 24) >>> 24)
  -                   byte ((value <<< 24) >>> 24) |]
  +                   byte ((value &&& 0x00FF0000u) >>> 16)
  +                   byte ((value &&& 0x0000FF00u) >>> 8)
  +                   byte (value &&& 0x000000FFu) |]
   
       [<CompiledName("PackULong")>]
       let packUInt64 value =
  
positive.code:                 if value < -(1L <<< 31) then
                      [| Format.Int64
                         byte (value >>> 56)
                         byte (((value >>> 48) <<< 56) >>> 56)
                         byte (((value >>> 40) <<< 56) >>> 56)
                         byte (((value >>> 32) <<< 56) >>> 56)
                         byte (((value >>> 24) <<< 56) >>> 56)
                         byte (((value >>> 16) <<< 56) >>> 56)
                         byte (((value >>> 8) <<< 56) >>> 56)
                         byte ((value <<< 56) >>> 56) |]
                  else
                      value |> int32 |> packInt
              else
  
negative.code:         elif length <= 255 then Array.append [| Format.Ext8; byte(length); byte(t) |] bs
          elif length <= 65535 then Array.append
                                      [| Format.Ext16
                                         byte (length >>> 8)
                                         byte (length &&& 0x00FF)
                                         byte (t) |]
                                      bs
          else Array.append
                  [| Format.Ext32
                     byte (length >>> 24)
                     byte ((length &&& 0x00FF0000) >>> 16)
                     byte ((length &&& 0x0000FF00) >>> 8)
                     byte (length &&& 0x000000FF)
  