Again, agree with Ben here. Although I do provide my own `Iteratable`/`Iterator` all the time. I would expect to do the same in the Reactive Streams implementation by providing anonymous classes rather than concrete implementations when the situation called for it.