Use Scalaz, Argonaut and macro to handle json