Undefined values in a for-in should not error,e.g. `for(var foo in undefined){` so no need for all the object guards.