再帰呼び出しを含む関数の型推論したいんですけど、なんかいい方法ないっすかね〜?