Since QueryResultSet iterator doesn't support remove, it is sensible to return a canonical set implementation.