Strict shape test for TypedPropertyValue. Deliberately rejects any extra keys: legacy/migrated attributes carry raw scalars or foreign objects, never this exact record, so the test is what disambiguates "typed property" from "leave it alone".
Strict shape test for TypedPropertyValue. Deliberately rejects any extra keys: legacy/migrated attributes carry raw scalars or foreign objects, never this exact record, so the test is what disambiguates "typed property" from "leave it alone".