A self-type for a trait A:
A
trait B trait A { this: B => }
says that \"A cannot be mixed into a concrete cl
in the first case, a sub-trait or sub-class of B can be mixed in to whatever uses A. So B can be an abstract trait.