I'd rather call this class `Inject` and add an alias for `:<:` (just like for `:≺:`). Also, I think the two `Functor` context bounds are superfluous.