A bugfix
Previously, `Enumap` allowed for too many positional args to be passed. These extra positional args were discarded silently.
Sparse types are _always_ allowed
Sparse type mappings are now allowed even for the strict, non sparse `Enumap`. This is because I think type mappings are often sparse in the real world.
Better performance for sparse, typed collections
Sparse, typed collections are up to 2x faster with realistic sparse data after some low hanging optimizations. The executive summary is that, given sparse types and sparse inputs, we save cycles by not looping over types/values that aren't provided.