No se puede anular un tipo con límite superior no volátil


Tengo un error de compilación en scala y no sé a qué se refiere:
Supongamos estas declaraciones:

trait Abstract {
  type MyType
}
trait AInner
trait A extends Abstract{
  type MyType <: AInner
}
trait BInner {
  def bMethod : Int
}
trait B extends Abstract with A{
  override type MyType <: BInner with A#MyType
}
Lo que estoy tratando de lograr aquí (en rasgoB) es para restringir aún más el tipoMyType&nbsp;declarado enAbstract, por lo que cualquier valor de tipoMyType&nbsp;debe extender todo elMyTypes en el árbol mixin.

El compilador me está dando este mensaje (como en el título):tipo MyType es un tipo volátil; no se puede anular un tipo con límite superior no volátil. Entiendo quetipo de volatilidad&nbsp;está sucediendo aquí debido a la conjunción de tiposwith A#MyType, la parte del error:tipo con límite superior no volátil&nbsp;probablemente se refiere a la declaración de tipotype MyType <: AInner, dóndeAInner&nbsp;No es un tipo abstracto por lo tanto no volátil.

¿Por qué no puedo hacerlo? ¿Hay alguna manera, cómo lograr mi objetivo?