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