I came across the `ink_storage::Mapping` data structure. The official doc seems to explain how to use it but not why it's needed. It seems more complicated to initialize and work with than the maps defined by Rust's standard library.