     option = binary_to_atom(option)
     aliases[option] || option
   end
-end
+end
    end
  end

  def parse([<<?-, option|:binary>>], aliases, dict, args) do
    option = normalize_option(option, aliases)
    dict = Keyword.put dict, option, true
    { dict, args }
  end

  def parse(value, _, dict, args) do
    { dict, List.concat(args, value) }
  end

  ## Helpers

  defp key_value(key, boolean, dict) when boolean == "false" \
                                     when boolean == "true" do
    Keyword.put dict, key, binary_to_atom(boolean)
  end


      #=> { [source: "lib"], ["test/enum_test.exs"] }

  """
  def parse(options, aliases // []) when is_list(options) and is_list(aliases) do
    parse(options, aliases, [], [])
  end

  ## Helpers

  defp parse([<<?-, option|:binary>>, h|t], aliases, dict, args) do
    option = normalize_option(option, aliases)

    case h do
