ObjectTypeValidator is incorrectly implementing AllowedValuesValidator and should not implement it at all.
The values returned from an AllowedValuesValidator are meant to be an enumeration of the complete legal values for the attribute. ObjectTypeValidator is simply returning the legal keys for the fields in the object, which are not complete legal values.
The result of this is any attribute that uses this validator (which all complex objects probably do) will report bogus and unnecessary data in the read-resource-description "allowed-values" metadata. Unnecessary because the description of the attribute already includes full details of the fields via the "value-type" metadata.
I'm classifying this as minor because the bogus metadata likely does no harm.