!import "base.tri" !Local !import "list.tri" !Local !import "bytes.tri" !Local !import "binary.tri" !Local arborixMagic = [(65) (82) (66) (79) (82) (73) (88) (0)] readArborixMagic = (bs : expectBytes arborixMagic bs) readArborixHeader = (bs : bindResult (readArborixMagic bs) (_ r0 : bindResult (readU16BEBytes r0) (major r1 : bindResult (readU16BEBytes r1) (minor r2 : bindResult (readU32BEBytes r2) (sections r3 : ok (pair major (pair minor sections)) r3)))))