Float should /not/ be Orderable, because Orderable implies a total order, and in floating point NaNs are incomparable with everything (including themselves). But, in practice, this is a too strong a constraint to prevent doing min/max of two floats or to sort a vector of floats.
The equality and comparison operators for Float follow the IEEE definition Meaning they do not define an identity relation. Use isEqual for that.
Converts a float to a string. Special values are formatted as "inf", "-inf", and "nan". Integer values are formatted as Int::toString(), with a trailing ".0". All other values are formatted by the "%.17g" printf format. See http://pubs.opengroup.org/onlinepubs/009695399/functions/fprintf.html