あと、>>60の件も、静的言語における
流れるようなインタフェースの実例として参考になると思う。

たとえばAutoSelectだったら
その親のSelectがサブタイプを
型変数で受け取るようになってて、
各メソッドの戻り値の型が
サブタイプになるようになってる。

まあここまでややこしいことしないと
動的言語と同じ事が出来ないのかといわれりゃ
そうなんだけど、面白かったよ。