def huff.read
import gralha-bytes@0.1.0.1/bytes.bend as Bytesimport Base
193def huff.read(node: Huffman, +stream: BitStream) -> BitRead:
194 match node:
195 case HuffEmpty{}: BitRead{0, bits.invalid(stream)}
196 case HuffBad{}: BitRead{0, bits.invalid(stream)}
197 case HuffLeaf{symbol}: BitRead{symbol, stream}
198 case HuffNode{zero, one}: huff.read.next(bits.read(stream, 1), zero, one, node => input => huff.read(node, input))