                 %Elm.Error.BadModule{
                   path: Map.fetch!(a, "path"),
                   name: Map.fetch!(a, "name"),
-                  problems: Enum.map(Map.fetch!(a, "problems"), fn b ->
-                    %Elm.Error.Problem{
-                      title: Map.fetch!(b, "title"),
-                      region: %Elm.Error.Region{
-                        start: %Elm.Error.Position{
-                          line: get_in(b, ["region", "start", "line"]),
-                          column: get_in(b, ["region", "start", "column"])
+                  problems:
+                    Enum.map(Map.fetch!(a, "problems"), fn b ->
+                      %Elm.Error.Problem{
+                        title: Map.fetch!(b, "title"),
+                        region: %Elm.Error.Region{
+                          start: %Elm.Error.Position{
+                            line: get_in(b, ["region", "start", "line"]),
+                            column: get_in(b, ["region", "start", "column"])
+                          },
+                          end: %Elm.Error.Position{
+                            line: get_in(b, ["region", "end", "line"]),
+                            column: get_in(b, ["region", "end", "column"])
+                          }
                         },
-                        end: %Elm.Error.Position{
-                          line: get_in(b, ["region", "end", "line"]),
-                          column: get_in(b, ["region", "end", "column"])
-                        }
-                      },
-                      message: Enum.map(Map.fetch!(b, "message"), &parse_chunk/1)
-                    }
-                  end)
+                        message: Enum.map(Map.fetch!(b, "message"), &parse_chunk/1)
+                      }
+                    end)
                 }
               end)
+
             [{:module_problems, modules}]
+
           "error" ->
-            problem =
-              %Elm.Error.GeneralProblem{
-                path: Map.fetch!(data, "path"),
-                title: Map.fetch!(data, "title"),
-                message: Enum.map(Map.fetch!(data, "message"), &parse_chunk/1)
-              }
+            problem = %Elm.Error.GeneralProblem{
+              path: Map.fetch!(data, "path"),
+              title: Map.fetch!(data, "title"),
+              message: Enum.map(Map.fetch!(data, "message"), &parse_chunk/1)
+            }
+
             [{:general_problem, problem}]
         end
       else

        default_project()
        |> put_in(["dependencies", "direct"], make_deps_map(project.dependencies))
        |> write_project!(root)
        install_transitive_deps(root)
      else
        :ok

    args = ["--num", "1", binary, "make", "--report", "json"]
    options = [dir: root, out: :string, err: :string]
    result = Porcelain.exec("sysconfcpus", args, options)

    Logger.info(
      "elm make\nexit: #{result.status}\nstdout: #{result.out}\nstderr: #{result.err}\n"
    )

    case result do
      %Porcelain.Result{err: err, status: 1} ->
        case explore_dependency_error(err) do
