keep reps out of methods with a typeclass