HAMT ADL

The HAMT ADL provides a map interface, while sharding data internally.

HAMTs can support very large volumes of data by using sharding to distribute data between many blocks.

HAMTs have the particularly interesting and useful property of lacking hysteresis -- meaning that any two HAMTs with the same contents will reach the same sharding pattern, regardless of the insertion order of the data or the history of how the data structure grew. This is good news for determinism, and makes HAMTs very valuable in decentralized system design.