> I think the issue I keep coming back to with type safety is how do you make sure a value in meters is not mistakenly used as feet without some kind of translation.
Nominal typing - you declare meter and float to be separate types. Ada makes that simple. Both Rust and Ada support that, and it's normal practice in Ada to declare separate types for every unit.
Nominal typing - you declare meter and float to be separate types. Ada makes that simple. Both Rust and Ada support that, and it's normal practice in Ada to declare separate types for every unit.