We can't mix them because they will deal with different objects. TypeException has become TypeMismatchException, and it now takes two types (expected and actual) instead of their typenames, which is much better for debugging. However, the front-end exception will never deal with intermediate types, and so we need a separate class.