val a = new A // a.toC() yields a C val b = new B // b.toC() yields a C // Doesn't work: Type mismatch function_that_accepts_C_as_argument(a) // passing a.toC() would work, but I want it to be implicit // Doesn't work: Type mismatch function_that_accepts_C_as_argument(b) // passing b.toC() would work, but I want it to be implicit