This library provides one Maybe type per the usual numeric types:
Float, Double, Complex {Float|Double}, Int{8|16|32|64}, and Word{8|16|32|64|128}
All of the numeric types inside the Maybe are unboxed, while the Maybe value
itself is represented as an Unboxed Sum. However, for sub-machine-size Int/Word values,
the Maybe is just a wrapper around the underlying type, with out-of-bounds corresponding
to the Nothing value. Thus, the use of these constructors is unsafe, as this is only
checked internally.