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<in Nothing?>; 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<out 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<in Nothing?>>; 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<out 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<in Nothing?>>; 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<out 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<in Nothing?>>; 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<in Nothing?>>; 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<out 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<in Nothing?>>; 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<out 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<in Nothing?>>>>; 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<in Nothing?>>>>; 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<in Nothing?>>>>; 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<in Nothing?>>>>; 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<in Nothing?>>>>; 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<in Nothing?>>>>; 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<in Nothing?>>>>>; 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<out 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<out 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<in Nothing?>>>>>; 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<out 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<out 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?>>>>>>
