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>>>>>>
