module Hamster::List
def find_indices(i = 0, &block)
def find_indices(i = 0, &block) return EmptyList unless block_given? Stream.new do next EmptyList if empty? next Sequence.new(i, tail.find_indices(i + 1, &block)) if yield(head) tail.find_indices(i + 1, &block) end end