## Compiler version 3.1.0 ## Minimized code <!-- This code should be self contained, compilable (with possible failures) and as small as possible. Ideally, we should be able to just copy this code in a file and run `scalac` (and maybe `scala`) to reproduce the issue. --> ```Scala summon[deriving.Mirror.Product { type MirroredType = [X] =>> [Y] =>> (X, Y) }] ``` ## Output ```scala 1 |summon[deriving.Mirror.Product { type MirroredType = [X] =>> [Y] =>> (X, Y) }] | ^ |error overriding type MirroredMonoType in trait Mirror with bounds; | type MirroredMonoType, which equals [Y] =>> (?, Y) has incompatible type ``` ## Expectation `MirroredMonoType` should be collapsed to `(?, ?)`, rather than `[Y] =>> (?, Y)`