型と意味

型は実装を含まない。そのため、多重継承とは異なり多重型は安全である。
ただし、同名かつ同引数メソッドを持つinterfaceを二つimplementsすると名前空間の衝突が起きる。そのため、返値の型が異なる場合にはコンパイル時にエラーが発生する。
さて、返り値の型が同じ場合にも返値の意味が等しいとは限らない。これはどうやって解決すればよいのだろう。*1

*1:この点ではC#の方が型に意識的なのだけど、あれはあれでデリゲートがあるしなぁ。