I don't know if you are aware of it, but the standard for SML before the 97 version did have real an equality type. You can look at http://www.smlnj.org/doc/Conversion/types.html#Real-equality to see the justifiction for the change, which reading it, seems to be pretty much what I mentioned.