相性が悪いんじゃなくて使い分けだと思う

上ででたShapeでは各クラスが面積を出すメソッドを持っててもべつにいいだろうけど
GUI側で図形の表示に使うメソッドをShapeに持たせるのはおかしい

その場合はどこか別で限定的にこのパターンマッチを使えばいいのではないか?