>Eiffelの様に型がクラスしかなく、
>メンバの名前が衝突したときは名前を変更する方が

そんじゃEiffel使えば良いんじゃないかと言う気もするが。
名前変更の是非はともかく、型がクラスしかないと言うのは
明らかにやりすぎだし、実用的とは言い難いと思うが。
ストイックなまでにポリシーを貫く(ex Eiffel SmallTalk Lisp 初期のML等)
のも、言語としては悪くないけど、アプリケーションプログラム言語としてはどうかと。