protected function checkValueStructure(BaseValue $value) { if (!is_string($value->email)) { throw new InvalidArgumentType('$value->email', 'string', $value->email); } }