tighten up grater type parameters to conform with salat and to let my dynamic case class pass as a gratable