Better JSON

relatively large update, most types are now saved as objects rather than basic strings, which also means you get more info from them now. this change carries over to ADTs as well, where ADTs will always be "ADT": {"type": "__"}, with an optional "data": "..." pair if the given ADT has a _to_string method