   def parse("18"), do: "eighteen"
   def parse("19"), do: "nineteen"
   def parse("20"), do: "twenty"
+
+  # tens, finally with a pattern
   def parse(<<?2, n::utf8>>), do: "twenty #{parse(<<n>>)}"
   def parse("30"), do: "thirty"
   def parse(<<?3, n::utf8>>), do: "thirty #{parse(<<n>>)}"

    else
      raise ArgumentError, message: "Unknown digit(s): #{long_binary}"
    end
  end

  defp validate?(str) do
    String.match?(str, ~r/^-?[0-9]+$/)
  end

  # End case where we run out of words. Oops.

  def parse("8"), do: "eight"
  def parse("9"), do: "nine"

  # tens
  def parse("00"), do: ""
  def parse("10"), do: "ten"
