Does it matter? Basically you should not know what is options_, it is managed by compiler, you need to read only the code. If type matters you need to find definition anyway. Also it can just mean code written in a bad style if someone need type definition. '''auto''' increases maintainability: if you want to rename the type you should not change it everywhere. Also it decreases code hassle: type name is redundant information, logic matters