More json-y syntax and dynamic types. Actually turned out to be much easier to parse, coming in at ~150 lines