   end
 
   test "iterate/2" do
-    stream = Stream.iterate(0, &(&1+2))
+    stream = Stream.iterate(0, &(&1 + 2))
     assert Enum.take(stream, 5) == [0, 2, 4, 6, 8]
-    stream = Stream.iterate(5, &(&1+2))
+    stream = Stream.iterate(5, &(&1 + 2))
     assert Enum.take(stream, 5) == [5, 7, 9, 11, 13]
 
     # Only calculate values if needed

    assert Enum.to_list(stream) == [1, 2, 3, 4, 5]

    stream = Stream.drop(1..10, -5)
    list   = Enum.to_list(stream)
    assert Enum.zip(list, list) == Enum.zip(stream, stream)
  end

  test "drop/2 with negative count stream entries" do
    par = self()
    pid = spawn_link fn ->
      Enum.each Stream.drop(&inbox_stream/2, -3),
                fn x -> send par, {:stream, x} end
    end

    send pid, {:stream, 1}
    send pid, {:stream, 2}
    send pid, {:stream, 3}
    refute_receive {:stream, 1}

    send pid, {:stream, 4}
    assert_receive {:stream, 1}

    send pid, {:stream, 5}
    assert_receive {:stream, 2}
    refute_receive {:stream, 3}
  end

  end

  test "transform/4 halts with inner list" do
    transform_fun = fn x, acc -> {[x, x + 1, x + 2], acc} end
    after_fun = fn :acc -> Process.put(:stream_transform, true) end
    stream = Stream.transform(1..10, fn -> :acc end, transform_fun, after_fun)

    Process.put(:stream_transform, false)
    assert Enum.take(stream, 5) == [1, 2, 3, 2, 3]
