title: Recursive "merge" or "extend" with Ramda?
body: <p>I'm trying to find an equivalent function to <a href="https://lodash.com/docs#merge" rel="noreferrer">Lodash's merge</a> using <a href="http://ramdajs.com/0.21.0/docs/" rel="noreferrer">Ramda</a> that does a recursive object key-based "merge" or "extend". The behavior is similar to the following:</p>
  
  <pre><code>let merged = R.someMethod(
    { name: 'Matt', address: { street: 'Hawthorne', number: 22, suffix: 'Ave' }},
    { address: { street: 'Pine', number: 33 }}
  );
  
  console.log(merged);
  
  // =&gt; { name: 'Matt', address: { street: 'Pine', number: 33, suffix: 'Ave' }}
  </code></pre>
  
  <p>I noticed in the following <a href="https://github.com/ramda/ramda/pull/1170" rel="noreferrer">pull request</a> that <code>R.set</code> was briefly introduced, but then <a href="https://github.com/ramda/ramda/pull/1181" rel="noreferrer">rolled back</a> soon thereafter. Has this functionality been captured by the Ramda library since?</p>
  
  <p><em>Is this functionality available in Ramda?</em></p>