Well, because this thing should return an enumerator ty itself if there is no block given this is not correct. If you want this to iterate two enumerators, I suppose you could put them in another enumerator so that this returns an enumerator that would iterate over two other enumberators. Never tried that.