Oops, I completely forgot to make my real point while arguing technicalia about the iterator. Indeed, I don't think the iterator attribute is very useful as is - I don't think I'd ever want to use the stock iterator provided. It should (at least optionally) take a package name parameter so that users can supply their own iterator classes.
Makeshifts last the longest.
Comment on Re^2: RFC: Sub::Attributes -- alter subroutine context behavior with attributes