I'm not sure what this function is for. I can't see how it's recursive. Besides, this is better read when it's inlined:

```
  def downcase(str) do
    downcase_to_list(str) |> list_to_binary
  end
```