From https://github.com/zio/zio/issues/8215 ```scala trait Container[T] { def getT(): T } trait Service[+O[_] <: Container[_]] { def giveHello: String } final case class AContainer[T](t: T) extends Container[T] { override def getT() = t } final case class MyConcreteService() extends Service[AContainer] { def giveHello = "Concrete hello!" } object Example extends App { implicitly[MyConcreteService <:< Service[Container]] // true val left = izumi.reflect.Tag[MyConcreteService] val right = izumi.reflect.Tag[Service[Container]] println(left <:< right) // false } ```