blob: 04f8e277860e064e9af1fae93e2274b72a008a6c [file] [log] [blame]
In<T>
in Int. lower: In<Any?>; upper: In<Int>; substitution: In<Int>
out Int. lower: In<Int>; upper: In<Nothing>; substitution: In<*>
Out<T>
in Int. lower: Out<Int>; upper: Out<Any?>; substitution: Out<*>
out Int. lower: Out<Nothing>; upper: Out<Int>; substitution: Out<Int>
Inv<T>
in Int. lower: Nothing; upper: Inv<in Int>; substitution: Inv<in Int>
out Int. lower: Nothing; upper: Inv<out Int>; substitution: Inv<out Int>
Inv<in T>
in Int. lower: Inv<Any?>; upper: Inv<in Int>; substitution: Inv<in Int>
out Int. lower: Inv<in Int>; upper: Inv<out Any?>; substitution: Inv<in Int>
Inv<out T>
in Int. lower: Inv<out Int>; upper: Inv<out Any?>; substitution: Inv<out Int>
out Int. lower: Inv<Nothing>; upper: Inv<out Int>; substitution: Inv<out Int>
In<In<T>>
in Int. lower: In<In<Int>>; upper: In<In<Any?>>; substitution: In<In<Int>>
out Int. lower: In<In<Nothing>>; upper: In<In<Int>>; substitution: In<In<*>>
In<Out<T>>
in Int. lower: In<Out<Any?>>; upper: In<Out<Int>>; substitution: In<Out<*>>
out Int. lower: In<Out<Int>>; upper: In<Out<Nothing>>; substitution: In<Out<Int>>
In<Inv<T>>
in Int. lower: In<Inv<in Int>>; upper: In<Nothing>; substitution: In<Inv<in Int>>
out Int. lower: In<Inv<out Int>>; upper: In<Nothing>; substitution: In<Inv<out Int>>
In<Inv<in T>>
in Int. lower: In<Inv<in Int>>; upper: In<Inv<Any?>>; substitution: In<Inv<in Int>>
out Int. lower: In<Inv<out Any?>>; upper: In<Inv<in Int>>; substitution: In<Inv<in Int>>
In<Inv<out T>>
in Int. lower: In<Inv<out Any?>>; upper: In<Inv<out Int>>; substitution: In<Inv<out Int>>
out Int. lower: In<Inv<out Int>>; upper: In<Inv<Nothing>>; substitution: In<Inv<out Int>>
Out<In<T>>
in Int. lower: Out<In<Any?>>; upper: Out<In<Int>>; substitution: Out<In<Int>>
out Int. lower: Out<In<Int>>; upper: Out<In<Nothing>>; substitution: Out<In<*>>
Out<Out<T>>
in Int. lower: Out<Out<Int>>; upper: Out<Out<Any?>>; substitution: Out<Out<*>>
out Int. lower: Out<Out<Nothing>>; upper: Out<Out<Int>>; substitution: Out<Out<Int>>
Out<Inv<T>>
in Int. lower: Out<Nothing>; upper: Out<Inv<in Int>>; substitution: Out<Inv<in Int>>
out Int. lower: Out<Nothing>; upper: Out<Inv<out Int>>; substitution: Out<Inv<out Int>>
Out<Inv<in T>>
in Int. lower: Out<Inv<Any?>>; upper: Out<Inv<in Int>>; substitution: Out<Inv<in Int>>
out Int. lower: Out<Inv<in Int>>; upper: Out<Inv<out Any?>>; substitution: Out<Inv<in Int>>
Out<Inv<out T>>
in Int. lower: Out<Inv<out Int>>; upper: Out<Inv<out Any?>>; substitution: Out<Inv<out Int>>
out Int. lower: Out<Inv<Nothing>>; upper: Out<Inv<out Int>>; substitution: Out<Inv<out Int>>
Inv<In<T>>
in Int. lower: Nothing; upper: Inv<out In<Int>>; substitution: Inv<In<Int>>
out Int. lower: Nothing; upper: Inv<out In<Nothing>>; substitution: Inv<In<*>>
Inv<Out<T>>
in Int. lower: Nothing; upper: Inv<out Out<Any?>>; substitution: Inv<Out<*>>
out Int. lower: Nothing; upper: Inv<out Out<Int>>; substitution: Inv<Out<Int>>
Inv<Inv<T>>
in Int. lower: Nothing; upper: Inv<out Inv<in Int>>; substitution: Inv<Inv<in Int>>
out Int. lower: Nothing; upper: Inv<out Inv<out Int>>; substitution: Inv<Inv<out Int>>
Inv<Inv<in T>>
in Int. lower: Nothing; upper: Inv<out Inv<in Int>>; substitution: Inv<Inv<in Int>>
out Int. lower: Nothing; upper: Inv<out Inv<out Any?>>; substitution: Inv<Inv<in Int>>
Inv<Inv<out T>>
in Int. lower: Nothing; upper: Inv<out Inv<out Any?>>; substitution: Inv<Inv<out Int>>
out Int. lower: Nothing; upper: Inv<out Inv<out Int>>; substitution: Inv<Inv<out Int>>
Inv<in In<T>>
in Int. lower: Inv<in In<Int>>; upper: Inv<in In<Any?>>; substitution: Inv<in In<Int>>
out Int. lower: Inv<in In<Nothing>>; upper: Inv<in In<Int>>; substitution: Inv<in In<*>>
Inv<in Out<T>>
in Int. lower: Inv<in Out<Any?>>; upper: Inv<in Out<Int>>; substitution: Inv<in Out<*>>
out Int. lower: Inv<in Out<Int>>; upper: Inv<in Out<Nothing>>; substitution: Inv<in Out<Int>>
Inv<in Inv<T>>
in Int. lower: Inv<in Inv<in Int>>; upper: Inv<out Any?>; substitution: Inv<in Inv<in Int>>
out Int. lower: Inv<in Inv<out Int>>; upper: Inv<out Any?>; substitution: Inv<in Inv<out Int>>
Inv<in Inv<in T>>
in Int. lower: Inv<in Inv<in Int>>; upper: Inv<in Inv<Any?>>; substitution: Inv<in Inv<in Int>>
out Int. lower: Inv<in Inv<out Any?>>; upper: Inv<in Inv<in Int>>; substitution: Inv<in Inv<in Int>>
Inv<in Inv<out T>>
in Int. lower: Inv<in Inv<out Any?>>; upper: Inv<in Inv<out Int>>; substitution: Inv<in Inv<out Int>>
out Int. lower: Inv<in Inv<out Int>>; upper: Inv<in Inv<Nothing>>; substitution: Inv<in Inv<out Int>>
Inv<out In<T>>
in Int. lower: Inv<out In<Any?>>; upper: Inv<out In<Int>>; substitution: Inv<out In<Int>>
out Int. lower: Inv<out In<Int>>; upper: Inv<out In<Nothing>>; substitution: Inv<out In<*>>
Inv<out Out<T>>
in Int. lower: Inv<out Out<Int>>; upper: Inv<out Out<Any?>>; substitution: Inv<out Out<*>>
out Int. lower: Inv<out Out<Nothing>>; upper: Inv<out Out<Int>>; substitution: Inv<out Out<Int>>
Inv<out Inv<T>>
in Int. lower: Inv<Nothing>; upper: Inv<out Inv<in Int>>; substitution: Inv<out Inv<in Int>>
out Int. lower: Inv<Nothing>; upper: Inv<out Inv<out Int>>; substitution: Inv<out Inv<out Int>>
Inv<out Inv<in T>>
in Int. lower: Inv<out Inv<Any?>>; upper: Inv<out Inv<in Int>>; substitution: Inv<out Inv<in Int>>
out Int. lower: Inv<out Inv<in Int>>; upper: Inv<out Inv<out Any?>>; substitution: Inv<out Inv<in Int>>
Inv<out Inv<out T>>
in Int. lower: Inv<out Inv<out Int>>; upper: Inv<out Inv<out Any?>>; substitution: Inv<out Inv<out Int>>
out Int. lower: Inv<out Inv<Nothing>>; upper: Inv<out Inv<out Int>>; substitution: Inv<out Inv<out Int>>
In<Inv<Out<T>>>
in Int. lower: In<Inv<out Out<Any?>>>; upper: In<Nothing>; substitution: In<Inv<Out<*>>>
out Int. lower: In<Inv<out Out<Int>>>; upper: In<Nothing>; substitution: In<Inv<Out<Int>>>
Out<Out<Out<T>>>
in Int. lower: Out<Out<Out<Int>>>; upper: Out<Out<Out<Any?>>>; substitution: Out<Out<Out<*>>>
out Int. lower: Out<Out<Out<Nothing>>>; upper: Out<Out<Out<Int>>>; substitution: Out<Out<Out<Int>>>
Inv<Inv<in In<T>>>
in Int. lower: Nothing; upper: Inv<out Inv<in In<Any?>>>; substitution: Inv<Inv<in In<Int>>>
out Int. lower: Nothing; upper: Inv<out Inv<in In<Int>>>; substitution: Inv<Inv<in In<*>>>
Inv<out Inv<Out<T>>>
in Int. lower: Inv<Nothing>; upper: Inv<out Inv<out Out<Any?>>>; substitution: Inv<out Inv<Out<*>>>
out Int. lower: Inv<Nothing>; upper: Inv<out Inv<out Out<Int>>>; substitution: Inv<out Inv<Out<Int>>>
Inv<in Inv<Inv<T>>>
in Int. lower: Inv<in Inv<out Inv<in Int>>>; upper: Inv<out Any?>; substitution: Inv<in Inv<Inv<in Int>>>
out Int. lower: Inv<in Inv<out Inv<out Int>>>; upper: Inv<out Any?>; substitution: Inv<in Inv<Inv<out Int>>>
Out<Inv<In<T>>>
in Int. lower: Out<Nothing>; upper: Out<Inv<out In<Int>>>; substitution: Out<Inv<In<Int>>>
out Int. lower: Out<Nothing>; upper: Out<Inv<out In<Nothing>>>; substitution: Out<Inv<In<*>>>
Inv<out Out<Out<T>>>
in Int. lower: Inv<out Out<Out<Int>>>; upper: Inv<out Out<Out<Any?>>>; substitution: Inv<out Out<Out<*>>>
out Int. lower: Inv<out Out<Out<Nothing>>>; upper: Inv<out Out<Out<Int>>>; substitution: Inv<out Out<Out<Int>>>
Out<In<Inv<T>>>
in Int. lower: Out<In<Inv<in Int>>>; upper: Out<In<Nothing>>; substitution: Out<In<Inv<in Int>>>
out Int. lower: Out<In<Inv<out Int>>>; upper: Out<In<Nothing>>; substitution: Out<In<Inv<out Int>>>
Inv<out In<Out<T>>>
in Int. lower: Inv<out In<Out<Any?>>>; upper: Inv<out In<Out<Int>>>; substitution: Inv<out In<Out<*>>>
out Int. lower: Inv<out In<Out<Int>>>; upper: Inv<out In<Out<Nothing>>>; substitution: Inv<out In<Out<Int>>>
In<Out<Inv<T>>>
in Int. lower: In<Out<Inv<in Int>>>; upper: In<Out<Nothing>>; substitution: In<Out<Inv<in Int>>>
out Int. lower: In<Out<Inv<out Int>>>; upper: In<Out<Nothing>>; substitution: In<Out<Inv<out Int>>>
Inv<out Inv<Inv<out Inv<in T>>>>
in Int. lower: Inv<Nothing>; upper: Inv<out Inv<out Inv<out Inv<in Int>>>>; substitution: Inv<out Inv<Inv<out Inv<in Int>>>>
out Int. lower: Inv<Nothing>; upper: Inv<out Inv<out Inv<out Inv<out Any?>>>>; substitution: Inv<out Inv<Inv<out Inv<in Int>>>>
Inv<in Out<In<Inv<in T>>>>
in Int. lower: Inv<in Out<In<Inv<Any?>>>>; upper: Inv<in Out<In<Inv<in Int>>>>; substitution: Inv<in Out<In<Inv<in Int>>>>
out Int. lower: Inv<in Out<In<Inv<in Int>>>>; upper: Inv<in Out<In<Inv<out Any?>>>>; substitution: Inv<in Out<In<Inv<in Int>>>>
Inv<in In<Inv<out Inv<in T>>>>
in Int. lower: Inv<in In<Inv<out Inv<Any?>>>>; upper: Inv<in In<Inv<out Inv<in Int>>>>; substitution: Inv<in In<Inv<out Inv<in Int>>>>
out Int. lower: Inv<in In<Inv<out Inv<in Int>>>>; upper: Inv<in In<Inv<out Inv<out Any?>>>>; substitution: Inv<in In<Inv<out Inv<in Int>>>>
Inv<In<In<Inv<in T>>>>
in Int. lower: Nothing; upper: Inv<out In<In<Inv<in Int>>>>; substitution: Inv<In<In<Inv<in Int>>>>
out Int. lower: Nothing; upper: Inv<out In<In<Inv<out Any?>>>>; substitution: Inv<In<In<Inv<in Int>>>>
Inv<out Inv<out Inv<out Inv<T>>>>
in Int. lower: Inv<out Inv<out Inv<Nothing>>>; upper: Inv<out Inv<out Inv<out Inv<in Int>>>>; substitution: Inv<out Inv<out Inv<out Inv<in Int>>>>
out Int. lower: Inv<out Inv<out Inv<Nothing>>>; upper: Inv<out Inv<out Inv<out Inv<out Int>>>>; substitution: Inv<out Inv<out Inv<out Inv<out Int>>>>
Inv<out Out<Inv<out Inv<in T>>>>
in Int. lower: Inv<out Out<Inv<out Inv<Any?>>>>; upper: Inv<out Out<Inv<out Inv<in Int>>>>; substitution: Inv<out Out<Inv<out Inv<in Int>>>>
out Int. lower: Inv<out Out<Inv<out Inv<in Int>>>>; upper: Inv<out Out<Inv<out Inv<out Any?>>>>; substitution: Inv<out Out<Inv<out Inv<in Int>>>>
Out<Inv<out Inv<out In<T>>>>
in Int. lower: Out<Inv<out Inv<out In<Any?>>>>; upper: Out<Inv<out Inv<out In<Int>>>>; substitution: Out<Inv<out Inv<out In<Int>>>>
out Int. lower: Out<Inv<out Inv<out In<Int>>>>; upper: Out<Inv<out Inv<out In<Nothing>>>>; substitution: Out<Inv<out Inv<out In<*>>>>
In<Inv<in In<Inv<in T>>>>
in Int. lower: In<Inv<in In<Inv<in Int>>>>; upper: In<Inv<in In<Inv<Any?>>>>; substitution: In<Inv<in In<Inv<in Int>>>>
out Int. lower: In<Inv<in In<Inv<out Any?>>>>; upper: In<Inv<in In<Inv<in Int>>>>; substitution: In<Inv<in In<Inv<in Int>>>>
Out<Inv<in In<Inv<T>>>>
in Int. lower: Out<Inv<in In<Nothing>>>; upper: Out<Inv<in In<Inv<in Int>>>>; substitution: Out<Inv<in In<Inv<in Int>>>>
out Int. lower: Out<Inv<in In<Nothing>>>; upper: Out<Inv<in In<Inv<out Int>>>>; substitution: Out<Inv<in In<Inv<out Int>>>>
Out<Inv<in Inv<in Inv<T>>>>
in Int. lower: Out<Inv<in Inv<out Any?>>>; upper: Out<Inv<in Inv<in Inv<in Int>>>>; substitution: Out<Inv<in Inv<in Inv<in Int>>>>
out Int. lower: Out<Inv<in Inv<out Any?>>>; upper: Out<Inv<in Inv<in Inv<out Int>>>>; substitution: Out<Inv<in Inv<in Inv<out Int>>>>
In<In<Inv<In<In<T>>>>>
in Int. lower: In<In<Nothing>>; upper: In<In<Inv<out In<In<Any?>>>>>; substitution: In<In<Inv<In<In<Int>>>>>
out Int. lower: In<In<Nothing>>; upper: In<In<Inv<out In<In<Int>>>>>; substitution: In<In<Inv<In<In<*>>>>>
Inv<Inv<Inv<Out<Inv<in T>>>>>
in Int. lower: Nothing; upper: Inv<out Inv<out Inv<out Out<Inv<in Int>>>>>; substitution: Inv<Inv<Inv<Out<Inv<in Int>>>>>
out Int. lower: Nothing; upper: Inv<out Inv<out Inv<out Out<Inv<out Any?>>>>>; substitution: Inv<Inv<Inv<Out<Inv<in Int>>>>>
Out<Inv<Out<Out<Inv<out T>>>>>
in Int. lower: Out<Nothing>; upper: Out<Inv<out Out<Out<Inv<out Any?>>>>>; substitution: Out<Inv<Out<Out<Inv<out Int>>>>>
out Int. lower: Out<Nothing>; upper: Out<Inv<out Out<Out<Inv<out Int>>>>>; substitution: Out<Inv<Out<Out<Inv<out Int>>>>>
Inv<In<Inv<in In<Inv<out T>>>>>
in Int. lower: Nothing; upper: Inv<out In<Inv<in In<Inv<out Int>>>>>; substitution: Inv<In<Inv<in In<Inv<out Int>>>>>
out Int. lower: Nothing; upper: Inv<out In<Inv<in In<Inv<Nothing>>>>>; substitution: Inv<In<Inv<in In<Inv<out Int>>>>>
Inv<in Inv<out In<Out<Inv<out T>>>>>
in Int. lower: Inv<in Inv<out In<Out<Inv<out Int>>>>>; upper: Inv<in Inv<out In<Out<Inv<out Any?>>>>>; substitution: Inv<in Inv<out In<Out<Inv<out Int>>>>>
out Int. lower: Inv<in Inv<out In<Out<Inv<Nothing>>>>>; upper: Inv<in Inv<out In<Out<Inv<out Int>>>>>; substitution: Inv<in Inv<out In<Out<Inv<out Int>>>>>
Inv<out Out<Inv<in Inv<in Inv<in T>>>>>
in Int. lower: Inv<out Out<Inv<in Inv<in Inv<Any?>>>>>; upper: Inv<out Out<Inv<in Inv<in Inv<in Int>>>>>; substitution: Inv<out Out<Inv<in Inv<in Inv<in Int>>>>>
out Int. lower: Inv<out Out<Inv<in Inv<in Inv<in Int>>>>>; upper: Inv<out Out<Inv<in Inv<in Inv<out Any?>>>>>; substitution: Inv<out Out<Inv<in Inv<in Inv<in Int>>>>>
Out<Out<Inv<Out<Inv<out T>>>>>
in Int. lower: Out<Out<Nothing>>; upper: Out<Out<Inv<out Out<Inv<out Any?>>>>>; substitution: Out<Out<Inv<Out<Inv<out Int>>>>>
out Int. lower: Out<Out<Nothing>>; upper: Out<Out<Inv<out Out<Inv<out Int>>>>>; substitution: Out<Out<Inv<Out<Inv<out Int>>>>>
In<Inv<In<In<Inv<out T>>>>>
in Int. lower: In<Inv<out In<In<Inv<out Any?>>>>>; upper: In<Nothing>; substitution: In<Inv<In<In<Inv<out Int>>>>>
out Int. lower: In<Inv<out In<In<Inv<out Int>>>>>; upper: In<Nothing>; substitution: In<Inv<In<In<Inv<out Int>>>>>
Inv<out Inv<in Inv<Inv<out Inv<out T>>>>>
in Int. lower: Inv<out Inv<in Inv<out Inv<out Inv<out Any?>>>>>; upper: Inv<out Inv<out Any?>>; substitution: Inv<out Inv<in Inv<Inv<out Inv<out Int>>>>>
out Int. lower: Inv<out Inv<in Inv<out Inv<out Inv<out Int>>>>>; upper: Inv<out Inv<out Any?>>; substitution: Inv<out Inv<in Inv<Inv<out Inv<out Int>>>>>
In<Inv<in In<In<Inv<out T>>>>>
in Int. lower: In<Inv<in In<In<Inv<out Int>>>>>; upper: In<Inv<in In<In<Inv<out Any?>>>>>; substitution: In<Inv<in In<In<Inv<out Int>>>>>
out Int. lower: In<Inv<in In<In<Inv<Nothing>>>>>; upper: In<Inv<in In<In<Inv<out Int>>>>>; substitution: In<Inv<in In<In<Inv<out Int>>>>>
In<Inv<Out<In<Inv<Inv<T>>>>>>
in Int. lower: In<Inv<out Out<In<Nothing>>>>; upper: In<Nothing>; substitution: In<Inv<Out<In<Inv<Inv<in Int>>>>>>
out Int. lower: In<Inv<out Out<In<Nothing>>>>; upper: In<Nothing>; substitution: In<Inv<Out<In<Inv<Inv<out Int>>>>>>
Out<Inv<Inv<out Inv<Inv<in In<T>>>>>>
in Int. lower: Out<Nothing>; upper: Out<Inv<out Inv<out Inv<out Inv<in In<Any?>>>>>>; substitution: Out<Inv<Inv<out Inv<Inv<in In<Int>>>>>>
out Int. lower: Out<Nothing>; upper: Out<Inv<out Inv<out Inv<out Inv<in In<Int>>>>>>; substitution: Out<Inv<Inv<out Inv<Inv<in In<*>>>>>>
Inv<Out<In<In<Inv<in In<T>>>>>>
in Int. lower: Nothing; upper: Inv<out Out<In<In<Inv<in In<Any?>>>>>>; substitution: Inv<Out<In<In<Inv<in In<Int>>>>>>
out Int. lower: Nothing; upper: Inv<out Out<In<In<Inv<in In<Int>>>>>>; substitution: Inv<Out<In<In<Inv<in In<*>>>>>>
Inv<In<Inv<Inv<in Inv<out Inv<out T>>>>>>
in Int. lower: Nothing; upper: Inv<out In<Nothing>>; substitution: Inv<In<Inv<Inv<in Inv<out Inv<out Int>>>>>>
out Int. lower: Nothing; upper: Inv<out In<Nothing>>; substitution: Inv<In<Inv<Inv<in Inv<out Inv<out Int>>>>>>
In<Inv<out Inv<in Inv<Inv<in Inv<out T>>>>>>
in Int. lower: In<Inv<out Inv<out Any?>>>; upper: In<Inv<out Inv<in Inv<out Inv<in Inv<out Int>>>>>>; substitution: In<Inv<out Inv<in Inv<Inv<in Inv<out Int>>>>>>
out Int. lower: In<Inv<out Inv<out Any?>>>; upper: In<Inv<out Inv<in Inv<out Inv<in Inv<Nothing>>>>>>; substitution: In<Inv<out Inv<in Inv<Inv<in Inv<out Int>>>>>>
In<Inv<Inv<out Inv<out In<In<T>>>>>>
in Int. lower: In<Inv<out Inv<out Inv<out In<In<Any?>>>>>>; upper: In<Nothing>; substitution: In<Inv<Inv<out Inv<out In<In<Int>>>>>>
out Int. lower: In<Inv<out Inv<out Inv<out In<In<Int>>>>>>; upper: In<Nothing>; substitution: In<Inv<Inv<out Inv<out In<In<*>>>>>>
Out<In<Inv<Out<Inv<Out<T>>>>>>
in Int. lower: Out<In<Inv<out Out<Inv<out Out<Any?>>>>>>; upper: Out<In<Nothing>>; substitution: Out<In<Inv<Out<Inv<Out<*>>>>>>
out Int. lower: Out<In<Inv<out Out<Inv<out Out<Int>>>>>>; upper: Out<In<Nothing>>; substitution: Out<In<Inv<Out<Inv<Out<Int>>>>>>
Inv<out Inv<Inv<in Out<Inv<out Inv<in T>>>>>>
in Int. lower: Inv<Nothing>; upper: Inv<out Inv<out Inv<in Out<Inv<out Inv<Any?>>>>>>; substitution: Inv<out Inv<Inv<in Out<Inv<out Inv<in Int>>>>>>
out Int. lower: Inv<Nothing>; upper: Inv<out Inv<out Inv<in Out<Inv<out Inv<in Int>>>>>>; substitution: Inv<out Inv<Inv<in Out<Inv<out Inv<in Int>>>>>>
Out<Inv<in Inv<Out<Inv<Out<T>>>>>>
in Int. lower: Out<Inv<in Inv<out Out<Inv<out Out<Any?>>>>>>; upper: Out<Inv<out Any?>>; substitution: Out<Inv<in Inv<Out<Inv<Out<*>>>>>>
out Int. lower: Out<Inv<in Inv<out Out<Inv<out Out<Int>>>>>>; upper: Out<Inv<out Any?>>; substitution: Out<Inv<in Inv<Out<Inv<Out<Int>>>>>>
Inv<Inv<in Inv<in In<In<Out<T>>>>>>
in Int. lower: Nothing; upper: Inv<out Inv<in Inv<in In<In<Out<Any?>>>>>>; substitution: Inv<Inv<in Inv<in In<In<Out<*>>>>>>
out Int. lower: Nothing; upper: Inv<out Inv<in Inv<in In<In<Out<Int>>>>>>; substitution: Inv<Inv<in Inv<in In<In<Out<Int>>>>>>