(chunk-cons chunk rest)
(defn chunk-cons [chunk rest] (if (zero? (-count chunk)) rest (ChunkedCons. chunk rest nil nil)))