Definition of the core floating point types and basic manipulation of them.
The Double type. This is expected to be an identical declaration to the one found in GHC.Prim. We avoid simply using GHC's type because we need to define our own class instances.
The Float type.
Coercion to floating point types.
Convert to a floating point type. Conversions from integers and real types are provided, as well as conversions between floating point types. Conversions between floating point types preserve infinities, negative zeros and NaNs.