if "pure code" calls error but is never lifted into IO does it really throw an exception?
the one reply i got to that on 🐦 is unsatisfying: sure the error message that prints to the terminal *isn't* the exception, but how are you running pure code such that it *can* throw without invoking IO?
this is a stupid question, i guess, and it doesn't matter, except now i think i understand what my uncle meant when he i started learning programming and he told me, "baby, you never get out of I/O"