Compiler version: 3.3.1 Compiler option: `-language:strictEquality` The following code compiles fine. But why? Where does it finds `CanEqual[Test, Test2]` of different types? ```Scala case class Test(i: Int) case class Test2(i: Int) object Eq: given [T]: CanEqual[T, T] = CanEqual.derived @main def run(): Unit = Test(1) == Test2(2) () ``` https://scastie.scala-lang.org/X6boEpObQXee5uhESbviuQ Thanks