         case List.keyfind(config, :vsn, 0) do
           {:vsn, actual} when is_list(actual) ->
             actual = IO.iodata_to_binary(actual)
+
             case vsn_match(req, actual, app) do
               {:ok, true} -> {:ok, actual}
               {:ok, false} -> {:nomatchvsn, actual}
               {:error, error} -> {error, actual}
             end
+
           {:vsn, actual} ->
             {:invalidvsn, actual}
+
           nil ->
             {:invalidvsn, nil}
         end
-      {:ok, _} -> {:invalidapp, app_path}
-      {:error, _} -> {:noappfile, app_path}
+
+      {:ok, _} ->
+        {:invalidapp, app_path}
+
+      {:error, _} ->
+        {:noappfile, app_path}
     end
   end
 end

        opts :: keyword

    If you want to skip the requirement (not recommended), use ">= 0.0.0".
    """
  end

  ## Fetching


  defp rebar_children(root_config, manager, dest) do
    from = Path.absname(Path.join(dest, "rebar.config"))

    Mix.Rebar.recur(root_config, fn config ->
      overrides = overrides(manager, config)

      config
      |> Mix.Rebar.deps()
      |> Enum.map(fn dep -> %{to_dep(dep, from, manager) | extra: overrides} end)
    end)
    |> Enum.concat()
  end

  defp overrides(:rebar3, config), do: config[:overrides] || []
