Trait Constraints

Trait constraints on generics are currently a work in progress.