When are supertraits needed?
when a trait is needed for multiple structs
when a metatrait is needed to use another trait
when a trait depends on another trait
only when a generic trait is used