Type「Tというジェネリック型がIFooならA、違うならB」というように与えられた型によって分岐した結果の型を返すことができます。これはこのような形です。V;これはCがPの拡張形式ならU型に、違うならV型になるという意味になります。以上の条件も設定できます。itself.ts(2456))」エラーを起こします。AFunction;ネストを深くすればそのようなことはできるネストが浅いのであれば使用したいケースまでの再帰ライクに定義するといった使い方は可能です。一部分の型を取得する以下は関数の戻り値を取得できます。inferはパターンマッチみたく、その場の型を条件結果の部分で使うことができます。number;実はReturnTypeは最初から定義されてるので実装はいりません。引数の型が取りたい場合は、引数の型指定部分でinferを使います。