>>194
よくある例だよね。
なんとかプリンシプルが守られてないっていう例。
親クラスのインスタンスの代わりに子クラスのインスタンス入れても動かない例。

rectangles.add(new Rectangle)
rectangles.add(new Square)
void stretchwidth(rs, rate) {
 rs.each {|r| r.with *= rate}
}
stretchwidth(rectangles, 10.0)
みたいにしたときね。まあこれはアクセッサをオーバーロードして面倒みたら回避できるけど。

あと気軽に多角形でクラス階層育てようとして、
案外うまくいかねーな、おいしくないな、ってのもよくある話。
そこらへんをKAC氏は言いたいんじゃないかな最終的に。