¿Por qué la función ng-style se aplica dos veces?

Tengo una aplicación angular como:

angular.module('ngStyleApp', [])

.controller('testCtrl', function($scope) {
   $scope.list = [1,2,3];
   $scope.getStyles = function(index) {
       console.log('getting styles for index ' + index);
       return {
           color: 'red'
       };
   };
});

con el marcado correspondiente:

<div ng-app="ngStyleApp">
    <ul ng-controller="testCtrl">
        <li ng-repeat="value in list" ng-style="getStyles($index)">
            {{value}}
        </li>
    </ul>
</div>

La salida visible es tres elementos de la lista roja, como se esperaba. Pero la declaración se registra en la consola un total de 6 veces, lo que implica que la vista se representa dos veces:

getting styles for index 0
getting styles for index 1
getting styles for index 2
getting styles for index 0
getting styles for index 1
getting styles for index 2

¿Por qué?

JSFiddle

Respuestas a la pregunta(2)

Su respuesta a la pregunta