Any
型の変数に入れてから、 anySeq as? any Sequence<Int>
でダウンキャストしてから implicit open で <T: Sequence> where T.Element == Int
に変換するパターンのコードが書けて、これはコールスタックとかで静的に決められないですね。<T: Sequence> where T.Element == Int>
な引数を受け取る関数をネストして呼び出すパターンのコードなら、内側の呼び出しでは、外側の関数が受け取ったwitness tableをリレーしていくコードになるので、一貫性を維持して呼び出しが潜っていくはず。