It seems we are gathering around the new interface, keeping the old one for backwards compatibility. So, the examples and function signature should reflect this. Signature should be: `(ii, start, end, *args)` and API for multiple start and end points should reflect numpy indexing. In your example:

```python
>>> integrate(ii, ([1, 3], [0, 3]), ([1, 4], [2, 5]))
```
(Note also that "print" is not needed, *and* we want to keep forward compatibility to Python 3 so always use `print(stuff)` instead of `print stuff`.)
Generally,
```python
>>> integrate(ii, (rr_start, cc_start, ...), (rr_end, cc_end, ...))
```
where the variables can be scalar or iterables.