Cita: ¿Cómo se podría resolver el problema de los Traits desacoplando las clases unas de otras?
(Entiendo desacoplar como la estrategia de componer/construir/escribir clases de manera que unas dependan de las otras lo menos posible)
Un Trait no pretende desacoplar las clases, ese es un tema que se resuelve de otras formas. El trait te sirve para reutilizar comportamiento colocándolo en otro sitio y que lo puedas utilizar en otras clases.
Una forma vulgar de verlos, seria como un copy paste de los métodos que hacen lo mismo y están distribuidos en diferentes clases.
Cita: hhs no me confundas más!! jaja que me costó mucho entender la gran enorme diferencia entre interfaz (algo raro que no entiendo su utilidad relevante) y el resto de código ejecutable y útil, como clases y traits :D
Los conceptos relacionados con la POO son a veces confusos por que hay una tendencia a pensar mas en las clases que en los objetos y hay que recordar que construimos sistemas orientados a objetos no a clases.
Para finalizar espero haber aclarado un poco el panorama y espero que pruebes por ti mismo si tiene alguna utilidad para ti.