Мне кажется, для начала нужно задать себе несколько вопросов перед тем как юзать трейты. Учитывая то, что они были представлены как альтернатива механизма множественного наследования, первым вопросом будет: нужно ли в конкретном примере множественное наследование? Мне кажется, есть миллион причин не использовать множественное наследование, которое само по себе имеет недостатки. Наверное, после этого вопроса уже должно было отпасть желание использовать трейты. Всё ведь можно реализовать и на одиночном спокойно, а если нужно динамически добавить поведение, то существуют паттерны, не говоря уже о том, что также существуют рекомендации по минимизации даже одиночного наследования в архитектуре и использовании агрегирования.