Нет никакой разницы, так как, расширяя класс B, вы получили часть сообщения, далее микширование в черте C, которая также нуждалась в сообщении, но у нас уже есть это от B, и теперь у нас также есть loudMessage от C.
Скопировано из Википедии -
класс может наследовать только от одного класса, но может смешивать столько признаков, сколько пожелает.Scala разрешает имена методов, используя поиск по расширенным «чертам» по принципу «сначала в глубину», прежде чем исключить все, кроме последнего, вхождения каждого модуля в результирующем списке.
это решает проблему алмазов (кратнонаследование).
Это общая практика - писать черты и смешивать их в своих классах, когда это необходимо, вы найдете их интересными при написании модульных тестов, создаете много поддельных данных / насмешек в чертах исмешивать их в любое время.