sums it up quite nicely.
storing as strings and then attempting to turn all strings into dates would have false positives; storing as non-strings breaks the purity of the format
Also, YAML's method would violate one of the core values:
JSON5 remains a strict subset of JavaScript
Probably the best solution would be to allow new Date() or Date.parse() as values. When JSON5 is serialized as JSON, it would output the date string, but when serialized as JSON5, it would output new Date() or Date.parse().
BTW, new Date() and Date.parse() are equivalent, so it comes down to which ones feels better. I think my vote is for new Date() since it's two characters less.
I'm going to copy this info onto the GitHub issue, so please continue discussion there. Thanks.