f-bounded polymorphism
part way through checking traits