A Floating Point Filter [1] provides a Numeric type that wraps another
Numeric type, but defers its computation, instead providing a floating
point (Double) approximation.
A typeclass approach to wrapping numeric types in an FPFilter.
A MaybeDouble will hold a Double approximation so long as the Double's
sign can be computed exactly.
TODO: genericFPFilter is constantly being chosen over the ones defined here.
A Long encoded version of MaybeDouble, geared for unboxed speed.