Don't use assertions for control flow or error handling!

They are REMOVED when compiled with -O which is the cabal default.