#trait-based-abstraction