def select(&predicate)
      filter("select") do |yielder|
        each do |element|
          yielder.call(element) if yield(element)
        end
      end
    end
def select(&predicate)
      filter("select") do |yielder|
        each do |element|
          yielder.call(element) if yield(element)
        end
      end
    end
Select elements using a predicate block.

 @return [Enumerable] the elements that pass the predicate

 @see ::Enumerable#select