Closed
Description
type Fst[t[_[_, _]]] = t[[a, b] => a]
type Snd[t[_[_, _]]] = t[[a, b] => b]
final case class Witness[t[_[_, _]], A <: Fst[t]](value: Snd[t])
The compiler prints out:
-- [E007] Type Mismatch Error: tests/alex/test.scala ---------------------------
70 | final case class Witness[t[_[_, _]], A <: Fst[t]](value: Snd[t])
| ^
| found: Snd[t](Witness.this.value)
| required: Snd[(? <: [_$7 <: [_$8, _$9] => Any] => Any)]