       ["foo", "bar baz"]
 
   """
-  @spec split(String.t) :: argv
+  @spec split(String.t()) :: argv
   def split(string) when is_binary(string) do
     do_split(String.trim_leading(string, " "), "", [], nil)
   end

      ["--number", "--number"]

  """
  @spec to_argv(Enumerable.t, options) :: argv
  def to_argv(enum, opts \\ []) do
    switches = Keyword.get(opts, :switches, [])
    Enum.flat_map(enum, fn
      {_key, nil}  -> []
      {key, true}  -> [to_switch(key)]
      {key, false} -> [to_switch(key, "--no-")]
      {key, value} -> to_argv(key, value, switches)
    end)

    else
      {option, kinds, value} = normalize_option(tagged, value, switches)
      {value, kinds, rest} = normalize_value(value, kinds, rest, strict?)

      case validate_option(value, kinds) do
        {:ok, new_value} -> {:ok, option, new_value, rest}
        :invalid -> {:invalid, original, value, rest}
      end
    end
  end
