Thanks for the responses. Had a realised this was autovivification I would have found the answer. I see the point of autovivification when you want to create deep structures and the time/code it saves you but am slightly surprised exists is not a special case.