Stream.unfold/2
defmodule Stream do
def unfold(acc, fun)
end
Emits a sequence of values for the given accumulator acc.
Successive values are generated by calling fun with the previous accumulator and it must return a tuple with the current value and next accumulator.
The enumeration finishes when fun returns nil.