Doesn't Ada have this ability where you define numeric types with a range?
type jump_by_tenth is delta 0.1 range 1.0 .. 99.0;ETA: I'm not completely correct. Ada could have used something akin to 2-complement overflow handling, that is forcing every operation on a range to have a result in the same range, but it introduces runtime overhead too.