I'm not very experienced with C++, so when I discovered that all structures in Vulkan API have a special field to pinpoint their type, I was pretty surprised:
Any parameter that is a structure containing a VkStructureType::sType member must have a value of sType matching the type of the structure. As a general rule, the name of this value is obtained by taking the structure name, stripping the leading Vk, prefixing each capital letter with _, converting the entire resulting string to upper case, and prefixing it with VK_STRUCTURE_TYPE_. For example, structures of type VkImageCreateInfo must have a sType value of VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO.
What functionality relies on this field? Can't it rely on facilities built into the language?