Sparse arrays in Rust and creating custom DSTs

Dynamically sized types (DSTs) are one of a few exotically sized Rust types. Rust and its standard library have good tools for creating regular sized types but creating dynamically sized types can be a pain. We'll jump through DSTs quickly and look at an application - sparse arrays - to see how tricky DSTs are today. While creating a DST I was surprised at the lack of resources on DST creation and…