Without wading too far into this, why do we need escape syntax for this? The only character that might need an escape would be colon :, but my reading of the syntax doc is that colo : will immediately terminate the property, so we would update the doc to make it clear that property names cannot contain a colon. As written, if there is an issue with the minus sign in property names then that is a bug, but I feel like I might be missing something?
Tom