title: Why is 'mutable' a lambda function attribute, instead of being a capture type?
body: <p>Why does c++11 require us to write:</p>
  
  <pre><code>[a,b]() mutable { a=7; } // b is needlessly mutable, potential source of bugs
  </code></pre>
  
  <p>Instead of:</p>
  
  <pre><code>[mutable a,b]() { a=7; } // no problems here
  </code></pre>
  
  <p>Is this an oversight, considered not important enough, or is there a specific technical reason?</p>