generate impls for many primitive types
Experiment with lookahead, it's a tad slower than before
add size hints: 167ns vs 290ns
fix partial performance hit: 163ns vs 200ns
remove CollectionSep, 162ns vs 191ns
partially implement deserializing options
simplify deserializing numbers
macrotize tuple impls
support both LL(0) and LL(1) grammars
cleanup, and revert back to the separator, 162ns vs 205ns
Split out multiple collection types: 153ns vs 194ns

This allows a consumer of a deserializer stream to know what
type it might be dealing with.
Collections should work with multiple types
explicit `expect_{seq,map}` should error on another collection type

150ns vs 195ns
Add support for structs, 155ns vs 206ns
Add support for enums
add benchmarks for 157ns vs 197ns, 362ns vs 333ns
Swap AnimalDeserializer with a state machine to be fairer

165ns vs 193ns, 374ns vs 342ns
Make sure to inline things in the Decoders

169ns vs 190ns, 346ns vs 329ns
Add a StructDecoder
Add struct bench

ints: 169ns vs 191ns
enum: 376ns vs 347ns
struct: 2432ns vs 3465ns