Hang on - why do we need to do this?
In general we don't do client feature detection for every piece of functionality we have, only when it causes us to behave incompatibly.
And again in general we assume that setting extra properties on JSON objects is compatible. (e.g. score extensions on code completion).