trait trait -> trait