def Huff.from_codes
import bend-kit-bits@0.1.0.1/bits.bend as Bitsimport Base
279# A table from codes. Codes go shortest first, ties in list order; length 0 means no code.
280# None when a length exceeds 16 or the lengths over-subscribe. An incomplete set is allowed,
281# and decode answers None for its unused codes. Symbols must be below 2^27.
282def Huff.from_codes(+msb: Bool, +xs: List<&2, Code>) -> Maybe<&1, Huff>:
283 +max = lens.max(xs, 0)
284 build.short(U32.is_le(max, 16), msb, max, xs)