https://haikelei.com/posts/liskov-substitution-principle-square-rectangle/