If numeric keys are silently written as strings when generating
JSON, you can get JSON that is technically legal but practically
ambiguous.�� Start with the obvious:
���� (Dictionary new: 2) at: 1 put true; at: '1' put false; asJson
=> {"1": true, "1": false}.
More subtly,
���� d := Dictionary new: 2.
���� d at: 1.0 put: true.
���� d at: 1.0 successor put: false.
���� FloatPrintPolicy
�������� value: InexactFloatPrintPolicy new
�������� during: [d asJson]
=> {"1.0": true, "1.0": false}.
All things considered, *not* accepting numeric keys seems like
the best thing to do.