title: Redux Reselect - selector with argument input is recalculating
body: <p>I have the following selector:</p>
  
  <pre><code>const getAllAddresses = (withStartEnd) =&gt; 
      createSelector(
          [getAllAddressesSelector, getStartAddressSelector, getEndAddressSelector],
          (all, startAddress, endAddress) =&gt; {
              if (!withStartEnd) return [...Object.values(all)];
              return [startAddress, ...Object.values(all), endAddress];
          }
      );
  </code></pre>
  
  <p>I noticed that the selector is re-calculating every time, event when <code>all</code>, <code>startAddress</code> and <code>endAddress</code> do not change. If I remove the input for the selector function, to something like this:</p>
  
  <pre><code>const getAllAddresses = (
      createSelector(
          [getAllAddressesSelector, getStartAddressSelector, getEndAddressSelector],
          (all, startAddress, endAddress) =&gt; {
              return [startAddress, ...Object.values(all), endAddress];
          }
      )
  );
  </code></pre>
  
  <p>Then everything works as expected and the selector does not re-calculate on every call. Seems like I missing something in the selector concept. Any help would be much appreciated.</p>