`round (± ∞ :: Double)` not infinite
Rounding 1/0 or -1/0 results in an arbitrary chosen Integer
value, e.g.
λ:2> (round (1/0 :: Double) :: Integer) == 2^1024
True
λ:3> (round (-1/0 :: Double) :: Integer) == -(2^1024)
True
λ:4> (round (0/0 :: Double) :: Integer) == -(2^1024 + 2^1023)
True
I'm not sure if this is more desirable than returning a bottom value (e.g. by throwing some ArithException
)