Perhaps we should advocate the use of feature _testing_, rather than simply detecting whether `localStorage` exists or not. For example, we should test if we're actually able to set and remove items from `localStorage`, like so:

    if (localStorage is detected and the following pass):
        localStorage.setItem(..., ...);
        localStorage.removeItem(...);
    then localStorage is available and useable

The main reason being there are times when `localStorage` is detected, but is actually unusable. For example, when browsing in private mode on an iOS device, `localStorage` is available but cannot be used.