title: Why this is not a closure
body: <p>Since closure is a function binded to it's lexical environment I wonder why <code>notAClosure</code> construction is not a closure:</p>
  
  <pre><code>let a = { b: 42 };
  let notAClosure = ( param ) =&gt; { param.b++ };
  let aClosure = () =&gt; { a.b++ };
  notAClosure(a);
  </code></pre>
  
  <p>When <code>notAClosure</code> called, we pass to it object <code>a</code> by reference. This means that now inside closure we have access to outer scope = lexical environment.
  Did I name functions right? Is <code>aClosure</code> a real closure? Is <code>notAClosure</code> really not a closure and if is is correct - then why?</p>