I was thinking something along those lines, but as was pointed out, you would have to also create the constructors.
Unfortunately, I'm on my phone right now, so I can't effectively post code. I was thinking of a 'mixin' macro which would create a new type (with constructor): @mixin Foo <: Bar Baz Would create Foo from both Bar and Baz. However, because there is no MI, you could only inherit from Bar. While it does have some magic to it, it might not be awful. Also, you could still make an outer constructor for it. Of course, I don't know the actual technical challenges to making it, since I haven't had time to write any code.