- Correct for correct input.
- Only events - not files.
- Fast and easy for compiler to inline/optimize. (This includes ignoring the top bit rather than checking it, for example).
- Ideally as fast as working with raw bytes, but more ergonomic.
- Memory safe, even on bad input (this is the time we are willing to sacrifice performance).
#[no_std]
- Deal with malformed messages
- Deal with common sysex messages, but not in a way that harms performance of the standard case.
- Parsing smf files
- Easy to understand code
#![unsafe(never)]