See Original text in context
method skip-at-least-pull-one(Iterator: , int --> Mu)
Should skip producing $to-skip
values and if the iterator is still not exhausted, produce and return the next value. Should return IterationEnd
if the iterator got exhausted at any point:
my = <a b c>.iterator;say .skip-at-least-pull-one(2);say .skip-at-least-pull-one(20) =:= IterationEnd;# OUTPUT: «cTrue»
The Iterator role implements this method as calling skip-at-least
and then calling pull-one
if it was not exhausted yet.