Returning nil is basically what we want - if we inject deeper into the hash and don't have a key, we'll leave the block with nil and the attribute won't get deleted. Avoiding a [] call on nil is the key here.