Are there chances other tuple-specific methods are going to be added to justify a specific iterator type? If not, I'd probably make it `CloseableIterator<T> extends Iterator<T>, Closeable {}` instead. 

Btw. what do we gain by extending `Closeable`? It originates from the `java.io` package, its JavaDocs relate to files etc. and it declares an `IOException`; So I'm wondering whether that has the right semantics for our case? As you declared `close()` as method anways, I'd just not extend `Closeable`:

    interface CloseableIterator<T> extends Iterator<T> {
        void close() throws Exception();
    }

Note that I'm only bringing this up as the type is used in the `GridDialect` interface and changes to it will be harder later on than if it were just internal code.