Why `assert` rather than an exception?