すまんちょっと訂正
C#では、interface Hoge<in TIn, out TOut>のように