What about implementing `Iterator` instead of giving access to such method