Restrictions in Typeclasses