ネストした型の取得を実装 refs #6
実装方針を変更 refs #6

TypeLike<TSelf>の派生クラスにTSelfへの変換メソッドを要求するようにして、
実装はTypeLike<TSelf>に集めるようにした。
これで、TSelfを返すようなものをTypeLike<TSelf>にだけ定義すれば、
TypeLike<TSelf>の派生クラスすべてで使えるようになる。
ClosedTypeにアサーションを追加 refs #6