Sure, if you want speed use Enum.
But I do not think my solution would be slower, because of the Enum.at.
But memory usage will be bad with my solution.
This will be way better:
defp reverse2([], result), do: result
defp reverse2([word | rest], result) do
reverse2(rest, [word | result])
end


















