stackedtypemap

![version] ![downloads] ![docs] ![licence]

This map doesn't use any allocation or hashing.

Example

```rust use stackedtypemap::{StackedMap, Map, Removed};

let map = StackedMap; asserteq!(map.len(), 0); let map = map.insert(1).insert(2).insert(3); asserteq!(map.get::(), None); asserteq!(map.get::(), Some(&3)); asserteq!(map.len(), 1); let map2 = map.clone(); let map3 = map.clone(); assert!(matches!(map.remove::(), Removed::NotFound())); assert!(matches!( map2.remove::(), Removed::Removed { map: _, value: 3 } )); let map = map3.insert(()); let map = map.insert("hi"); asserteq!( map.typeiditer().collect::>(), vec![TypeId::of::<&'static str>(), TypeId::of::<()>()] ); ```