Updated Proposal: Revisiting Implicits

I’m fond of “Convertible”, for the simple reason that I would only have to change the import statements, as that’s what I named our version of this :slight_smile:

I agree, I’ve found that even in the places where the target type could be inferred by the compiler, it’s much harder for humans to follow without some indication what you’re intending to convert to.


These are the proposed signatures so far:

Our internal one looks like this:

trait Convertible[A, B] extends (A => B)

I’ve not really felt any pain points from having invariant type parameters, but as the other two seem to be converging on covariant input and contravariant output, I’m wondering if there’s something I’m missing?