This makes sense, one minor issue is we would be defining the property even if it was never observed.  Also why `keyName !== 'length'` ?