title: set variable in $watch sometimes fails?
body: <p>Using Angular 1.0.7:</p>
  
  <p>I've a directive which is meant to display a styled checkbox.</p>
  
  <p><a href="http://plnkr.co/edit/Al5cEu5WDs7ZwxZpk9wO?p=preview" rel="nofollow noreferrer">See plunkr here</a>.</p>
  
  <p><strong><em>Sometimes</em></strong> (and not always) my watcher doesnt update one of my scope's variable see:</p>
  
  <p>Here is a failing sequence:</p>
  
  <ul>
  <li>foo</li>
  <li>bar</li>
  <li>all</li>
  <li>foo</li>
  <li>bar</li>
  </ul>
  
  <p><img src="https://i.stack.imgur.com/hJjDS.png" alt="enter image description here"></p>
  
  <p>I wonder why the update doesnt occur.</p>