1- Document when read, seek, tell callbacks are used. 2- Add an automated testsuite. 3- Test (and fix, if necessary) support for unknown sizes. 4- Test (and fix, if necessary) support for large files. 5- Read past unknown elements rather than seeking. 6- Try to handle unknown elements with unknown sizes. 7- Formalize handling of default element values. 8- Try to resynchronize stream when read_block fails so that failure to parse 9 a single block can be treated as non-fatal. 10- Make logging more useful to API users. 11- Avoid reparsing Cues and ignore any SeekHead at end of file. 12- Optionally build a Cue index as Clusters are parsed. 13- Support seeking without Cues. 14- Avoid building a list of Clusters as they are parsed and retain only the 15 last one parsed. 16- Add an asynchronous error code to struct nestegg and ensure that API calls 17 continue to fail safely one a fatal error has been returned. 18- Modify parser/data structures to provide a clean separation. Perhaps the 19 parser should return a generic tree of nodes that a second pass uses to 20 initialize the main data structures. 21- Use pool allocator for all allocations. 22