Angular 2 recommends that template expressions be idempotent according to the following definition:
If the expression returns an object (including an Array), it returns the same object reference when called twice in a row.
What does angular care about the identity of that object? Put differently, what can happen if a template expression returns a new object with the same contents instead?