An issue with having division by 0 fail, is that the //
function could not return Int
. It would need to return Maybe Int
to capture that case, making it very inconvenient to use.
I therefore think that this behavior is a compromise for practicality.