layer handling: bit packing state parameters string pools reading structures from the end of a stream, seek/tell behaviour seek based protocols are too hard. hGetContents/ interleaving. user requests: get remaining bytestring after a runGet some kind of lookahead, or restoring parsing state, or something with equal functionality. make it another layer on top? getLazyByteString takes an Int, which in Haskell98 is only guarantied to be 29 bits, ie. 512 mb. maybe we should have a readN64 for allowing reading of larger stuff? (which could be implemented with readN on 64bit machines) reference: bringerts tar archive decoder would be limitid to 0.5GB files, alt. 2GB in GHC SYB-deriving investigate the UArray instance, it does not seem to compile in GHC 6.4