class A; class B extends A class C extends A trait M extends B class D extends C with M