The previous implementation seems to me to almost 

Seems to me that, if our iterator is only going to iterate over arrays, there's no need for `i` at all:

```
class Iterator
  constructor: (agents) ->
    @agents = agents[..]
  hasNext: ->
    @agents.length != 0
  next: ->
    @agents.shift()
```