title: scala play - edit JsValue with nested JsValues
body: <p>the question is not specific for JsValue, its for all the immutable objects in scala which i want to edit part of it and keep the rest as is.
  for example i have this object:</p>
  
  <pre><code>"references": {
      "hsId": "37395615-244b-4706-b6f5-237272f07140",
      "others": {
        "path": "rewr",
        "externalId": "ewr",
        "version": "2"
      }
  }
  </code></pre>
  
  <p>and lets say i just want to edit the version.</p>
  
  <p>thanks</p>