     {switches, strict?} = cond do
       opts[:switches] && opts[:strict] ->
         raise ArgumentError, ":switches and :strict cannot be given together"
-      s = opts[:switches] ->
-        {s, false}
-      s = opts[:strict] ->
-        {s, true}
+      switches = opts[:switches] ->
+        {switches, false}
+      strict = opts[:strict] ->
+        {strict, true}
       true ->
         {[], false}
     end

  end

  defp expand_multiletter_alias(letters, value) when is_binary(letters) do
    expanded = letters |> String.codepoints() |> Enum.map(&("-" <> &1))
    last = List.last(expanded) <> if(value, do: "=" <> value, else: "")
    Enum.drop(expanded, -1) ++ [last]
  end

  defp option_defined?(:unknown, _switches) do

    end
  end

  defp tag_oneletter_alias(alias, aliases) when is_binary(alias) do
    if alias = aliases[String.to_atom(alias)] do
      {:default, alias}
    else
