     end
   end
 
-  defp wrapped_reduce_into_protocol(enumerable, initial, transform, fun)
-       when is_list(enumerable) do
+  defp reduce_into_protocol(enumerable, initial, transform, fun) when is_list(enumerable) do
     :lists.foldl(fn x, acc -> fun.(acc, {:cont, transform.(x)}) end, initial, enumerable)
   end
 
-  defp wrapped_reduce_into_protocol(enumerable, initial, transform, fun) do
+  defp reduce_into_protocol(enumerable, initial, transform, fun) do
     enumerable
     |> Enumerable.reduce({:cont, initial}, fn x, acc ->
       {:cont, fun.(acc, {:cont, transform.(x)})}


  defp into_protocol(enumerable, collectable) do
    {initial, fun} = Collectable.into(collectable)
    reduce_into_protocol(enumerable, initial, fun)
  end

  defp reduce_into_protocol(enumerable, initial, fun) do
    try do
      wrapped_reduce_into_protocol(enumerable, initial, fun)
    catch
      kind, reason ->
        fun.(initial, :halt)

    end
  end

  defp reduce_into_protocol(enumerable, initial, fun) when is_list(enumerable) do
    :lists.foldl(fn x, acc -> fun.(acc, {:cont, x}) end, initial, enumerable)
  end

  defp reduce_into_protocol(enumerable, initial, fun) do
    enumerable
    |> Enumerable.reduce({:cont, initial}, fn x, acc ->
      {:cont, fun.(acc, {:cont, x})}
