elixir function guards
defmodule Greeter do def hello(names) when is_list(names) do names = Enum.join(names, ", ") hello(names) end def hello(name) when is_binary(name) do phrase() <> name end defp phrase, do: "Hello, " end iex> Greeter.hello ["Sean", "Steve"] # "Hello, Sean, Steve"