               (do
                 (.push oa (p/read-object! bis))
                 (recur)))))
-        ((.-BEGIN_OPEN_LIST c/codes))
+        (== code (.-BEGIN_OPEN_LIST c/codes))
         (let [oa #js []]
           (loop [code (.peek-read bis)]
             (if (or (== (.-END_COLLECTION c/codes) code) (nil? code))

              (do
                (.push oa (p/read-object! bis))
                (recur (.peek-read bis))))))
        (0xE4 0xE5 0xE6 0xE7 0xE8 0xE9 0xEA 0xEB)
        (let [oa #js []
              length (- code (.-LIST_PACKED_LENGTH_START c/codes))]
          (do
            (dotimes [i length]
              (.push oa (p/read-object! bis)))
            oa))
        ((.-LIST c/codes))
        (let [oa #js []
              length (p/read-object! bis)]
          (do
            (dotimes [i length]
              (.push oa (p/read-object! bis)))
            oa))
        ((.-STRUCTTYPE c/codes))
        (let [tag (p/read-object! bis)
              fields (p/read-int! bis)]
          (do
            (.push (.-struct-cache bis) (bs/struct-cache tag fields))
            (.handle-struct bis tag fields)))
        (0xA0 0xA1 0xA2 0xA3 0xA4 0xA5 0xA6 0xA7
         0xA8 0xA9 0xAA 0xAB 0xAC 0xAD 0xAE 0xAF)
        (let [st (.lookup-cache bis (.-struct-cache bis) (- code (.-STRUCT_CACHE_PACKED_START c/codes)))]
          (.handle-struct bis (.-tag st) (.-fields st)))
        ((.-STRUCT c/codes))
        (let [st (.lookup-cache bis (.-struct-cache bis) (p/read-int! bis))]
          (.handle-struct bis (.-tag st) (.-fields st)))
        (0x80 0x81 0x82 0x83 0x84 0x85 0x86 0x87
         0x88 0x89 0x8A 0x8B 0x8C 0x8D 0x8E 0x8F
         0x90 0x91 0x92 0x93 0x94 0x95 0x96 0x97
         0x98 0x99 0x9A 0x9B 0x9C 0x9D 0x9E 0x9F)
        (.lookup-cache bis (.-priority-cache bis) (- code (.-PRIORITY_CACHE_PACKED_START c/codes)))
        ((.-PUT_PRIORITY_CACHE c/codes))
        (.read-and-cache-object bis (.-priority-cache bis))
        ((.-GET_PRIORITY_CACHE c/codes))
        (.lookup-cache bis (.-priority-cache bis) (p/read-int! bis))
        ((.-RESET-CACHES c/codes))
        (do
          (.clear-caches! bis)
          (p/read-object! bis))
        ((.-FOOTER c/codes))
        (let [calculated-length (dec (bsp/bytes-read bis))
              magic-from-stream (+ (bit-shift-right-zero-fill (bit-shift-left code 24) 0) (bsp/read-int24! bis))]
          (do

                buf-pos (aget sa 1)]
            (cond
              (< buf-pos (.-STRING_PACKED_LENGTH_END c/ranges)) (bsp/write! bos (+ (.-STRING_PACKED_LENGTH_START c/codes) buf-pos))
              (== new-str-pos (alength s))
                (do
                  (bsp/write! bos (.-STRING c/codes))
                  (p/write-int! bos buf-pos))
