better patch. doesn't require loading all settings first.

thanks for accepting my earlier pull to allow deleting keys with falsy values.

this is an improvement upon that patch that doesn't require that we load all the settings and iterate through the keys. instead, like `[]`, we use `object(var_name)`.

passes the same test I added earlier.