Using asserts for error-checking is a bad idea