interesting observation! using watchGroup keeps the state associated with the scope so then we don't have this problem. But watchGroup also means that you moving the responsibility of watching for changes onto the client of `$interpolate` which means that it's an awkward opt-in optimization.

I wonder if we could keep a local catch of values in $interpolate that would be associate the values with scopes identified via scope ids.

I'll try to write this up now.