<html><body><div style="color:#000; background-color:#fff; font-family:Courier New, courier, monaco, monospace, sans-serif;font-size:10pt"><div>Hi everyone,</div><div><br></div><div>Can anyone shed some light on why the succ and pred functions of the Enum typeclass throw</div><div>exceptions if we go over the upper or lower boundary, and not return Maybe a?</div><div><br></div><div>I was hoping to have some functions like:</div><div><br></div><div>&nbsp; safeSucc :: (Enum a) =&gt; a -&gt; Maybe a</div><div><br></div><div>Because the succ and pred functions throw exceptions I can only catch them in</div><div>the IO monad. &nbsp;This makes it hard to deal with this situation in pure code.</div><div><br></div><div>Regards</div><div><br></div><div>Rouan.</div></div></body></html>