The Liskov Substitution Principle is not solved; you rely on the compilation error instead of a runtime exception. 😥