Macros support for JSON (de)serialization in scala