A concurrent, lock-free version of HashMap<K, Mutex<V>> and HashMap<K, RwLock<V>>.
It automatically allocates mutexes and rwlocks for you, and it automatically deallocates
them when they are no longer in use. The "no longer in use" condition is when the last
guard is dropped AND [Empty::is_empty] returns true.
It's a bit like Web Locks API
when V`` is ()`.
Example
use Arc;