"how would you define a type ( not a class but a type ) that represents a fixed point decimal number ( 0->1000 with 4 decimal places. ) and then prevent a programmer from accidentally adding that to another numeric type with a total of 4 bytes of ram in 4213 byte order in memory? AFAIK those 3 requirements put together are completely
Compared to ADA Haskell is weakly typed, and rust is unsafe, both have a flavor of the month feel to them, and I am unaware of any serious safety critical (e.g. bugs cause people to die) projects using either of those languages."