title: spread operator vs immutable.js
body: <p>It seems like when using redux with react, immutable.js has become almost a industry standard.
  My question is, aren't we making changes to our redux states immutably when we are using the spread operator? For example,</p>
  
  <pre><code>const reducer = (state=initialState, action) =&gt; {
      switch(action.type){
          case actionType.SOME_ACTION:
              return {
                  ...state,
                  someState: state.someState.filter(etc=&gt;etc)
              }
      }
  </code></pre>
  
  <p>Isn't the way I am setting the state with redux immutable? What is the benefit of using immutable.js OVER spread operator way of making objects immutable?</p>
  
  <p>Apologies if this question has been asked, but I couldn't find the answer that satisfied me. I understand the benefits of immutable objects, but not the importance of using the immutable.js library over the dot operator.</p>