## minimized code ```Scala object opaque { opaque type Foo[X] <: String = String } object test { val s: String = ???.asInstanceOf[opaque.Foo[_]] } ``` ## Compilation output ```scala Found: guarana.swing.opaque.Foo[?] Required: String(7) ``` ## expectation It should compile. Note that this **does** compile ```scala object opaque { opaque type Foo <: String = String } object test { val s: String = ???.asInstanceOf[opaque.Foo] } ```