Correctly handle failure in the print_json_for_type macro.
Get rid of tag types. They were unnecessary.
Add an example from my proposal