def f[M[_]: Injective, A](m: M[A]) = m object ListInjective extends Injective[List] f(List(0))(ListInjective)