Is it possible to “mutate” a stream to achieve the following behaviour:
stream = Stream.cycle([1, 2, 3])
{[1], stream} = stream |> MyStream.mutable_take(1) |> Enum.to_list()
{[2], stream} = stream |> MyStream.mutable_take(1) |> Enum.to_list()
{[3], stream} = stream |> MyStream.mutable_take(1) |> Enum.to_list()