Por que a função ng-style é aplicada duas vezes?

Eu tenho um aplicativo 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'
       };
   };
});

com a marcação correspondente:

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

A saída visível é de três itens da lista vermelha, conforme o esperado. Mas a instrução é registrada no console um total de 6 vezes, o que implica que a exibição é renderizada duas vezes:

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