!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) (_ afterMagic : bindResult (readBytes 2 afterMagic) (majorVersion afterMajor : bindResult (readBytes 2 afterMajor) (minorVersion afterMinor : bindResult (readBytes 4 afterMinor) (sectionCount afterSectionCount : ok (pair majorVersion (pair minorVersion sectionCount)) afterSectionCount)))))