@rwaldron You are right `GetIterator` throws if there is no callable `@@iterator`. `GetIterator` also throws if the return value is not an object.