Rework testing iterator to iterator protocol in addition to getitem
Errors are bad, but even if it is not supposed we can switch to python