Then, what if you change the code in map.js to:

```
this.controls_.forEach(
    /**
     * @param {ol.control.Control} control Control
     * @param {number} index Index
     * @param {Array} array Array
     */
    function(control, index, array) {
      control.setMap(this);
    }, this);
```

Also, alternatively, wondering what would happen if you used this for the callback signature:

```
@param {function(*, =number, =Array)} f The function to call for every element.
```