Compactmap - Vec-based map that uses usize as key type and maintains internal linked list for removed nodes.
You don't choose the key when inserting a new value. You can remove any entry.
Based on this post by eddyb.
TODO:
License is MIT or Apache, like for Rust itself.