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