title: Javascript Rebinding An Bound Founction
body: <p>Say I have the snippet</p>
  
  <pre><code>function hi() {
      console.log('Hello ' + this._hi);
  }
  
  var marcie = hi.bind({_hi: 'Sir'});
  var patty = marcie.bind({_hi: 'Lucille'});
  
  marcie(); // output: Hello Sir
  patty(); // expected: Hello Lucille // actual: Hello Sir
  </code></pre>
  
  <p>I wanted to rebind the bound function <strong>marcie</strong> but it looks like rebinding it does not work.</p>
  
  <p>I am aware of <strong>call</strong>, <strong>apply</strong> and <strong>bind</strong> in changing the function context. But it doesn't seem to work when it is already binded.</p>
  
  <p>How can I rebind a bound function in javascript? 
  Or is it not allowed?</p>