title: Destructuring assignment in function call while preserving the object
body: <p>Is there a way to do something like the following?</p>
  
  <pre><code>f = (o:{a:x}) {
      console.log(o);
      console.log(x);
  }
  f({a:0});
  //Should Print:
  //{a:0}
  //0
  </code></pre>
  
  <p>To get the same result as the this.</p>
  
  <pre><code>f = function(o) {
      var {a:x} = o;
      console.log(o);
      console.log(x);
  }
  f({a:0});
  //Prints
  //{a:0}
  //0
  </code></pre>
  
  <p>I would like to deconstruct the object inside the function parameters while also passing the object to the function so that the object can be modified. </p>