title: ImmutableJS Record merge
body: <p>I have imported an immutable record and wanted to add a new property to that before using it as the default state for my application. However, I cannot add the property at all despite trying <code>merge</code>, <code>mergeDeep</code>, <code>mergeWith</code> and <code>mergeDeepWith</code>. It returns the calling Record in all instances. I decided to try <code>merge</code> after seeing <a href="https://github.com/facebook/immutable-js/issues/1307" rel="nofollow noreferrer">this link</a>. </p>
  
  <p>The below code snippet simulates my problem</p>
  
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-js lang-js prettyprint-override"><code>a = Immutable.Record({a:1, b:2})
  b = a()
  
  c = Immutable.Record({z:12})
  d = c()
  
  
  e = b.merge(d)
  
  console.log(e.toJS())
  
  e = b.mergeDeep(d)
  
  console.log(e.toJS())
  
  e = b.mergeWith(d)
  
  console.log(e.toJS())
  
  e = b.mergeDeepWith(d)
  
  console.log(e.toJS())</code></pre>
  <pre class="snippet-code-html lang-html prettyprint-override"><code>&lt;script src="https://cdnjs.cloudflare.com/ajax/libs/immutable/3.8.2/immutable.js"&gt;&lt;/script&gt;</code></pre>
  </div>
  </div>
  </p>
  
  <p>This does not work with <code>v3.8.2</code> and even with <code>v4.0.0-rc-9</code>, in all cases, <code>b</code> is returned. I am looking for a solution using <code>3.8.2</code> itself not necessarily with <code>merge</code></p>
  
  <p>Not really experienced with immutable, so any help would be really appreciated.</p>
  
  <p>Thanks in advance</p>