title: Round NaN in Haskell
body: <p>To my great surprise, I found that rounding a NaN value in Haskell returns a gigantic negative number:</p>
  
  <pre><code>round (0/0)
  -269653970229347386159395778618353710042696546841345985910145121736599013708251444699062715983611304031680170819807090036488184653221624933739271145959211186566651840137298227914453329401869141179179624428127508653257226023513694322210869665811240855745025766026879447359920868907719574457253034494436336205824
  </code></pre>
  
  <p>The same thing happens with floor and ceiling.</p>
  
  <p>What is happening here? Is this behavior intended? Of course, I understand that anyone who doesn't want this behavior can always write another function that checks isNaN - but are there existing alternative standard library functions that handle NaN more sanely (for some definition of "more sanely")?</p>