Abstract interesting bits of scalatype into a trait so it can be replaced with a macro based approach
update to json4s 3.2.7