Вот что я сделал в библиотеке, которую я написал, HTH:
trait Addable {
type AddableType <: Addable
def + (subject: AddableType): AddableType
}
trait Rational extends Addable {
type AddableType = Rational
override def + (subject: Rational): Rational
}