If the schema is correct, then for all member values _S_ of _M_, _S_
must not have any member named "properties" or "optionalProperties"
with a name equal to _T_'s value.
is confusing. It should be emphasized that it's the members of "properties" and "optionalProperties" that may not have the name T, not "properties" or "optionalProperties" themselves.
This language:
is confusing. It should be emphasized that it's the members of "properties" and "optionalProperties" that may not have the name T, not "properties" or "optionalProperties" themselves.