Discards items from another iterator which fail to match a predicate.
Each time this iterator is advanced, it repeatedly calls (iter-next! it)
until (f item)
returns a value other than #f
or #n
. That item is then produced by the iterator.
(prn ..(filter even? '(1 2 3 4))) ; prints 2 4