elixir: list-ops: passing tests, but slow and cheating