     wait_take_over(state, evaluator, evaluator_ref)
   end
 
-  defp handle_take_over({:DOWN, evaluator_ref, :process, evaluator, reason},
-                        _state, evaluator, evaluator_ref, input, _callback) do
+  defp handle_take_over(
+         {:DOWN, evaluator_ref, :process, evaluator, reason},
+         _state,
+         evaluator,
+         evaluator_ref,
+         input,
+         _callback
+       ) do
     try do
-      io_error "** (EXIT from #{inspect evaluator}) evaluator process exited with reason: " <>
-               Exception.format_exit(reason)
+      io_error(
+        "** (EXIT from #{inspect(evaluator)}) evaluator process exited with reason: " <>
+          Exception.format_exit(reason)
+      )
     catch
       type, detail ->
-        io_error "** (IEx.Error) #{type} when printing EXIT message: #{inspect detail}"
-    end
+        io_error("** (IEx.Error) #{type} when printing EXIT message: #{inspect(detail)}")
+    end
+
     rerun([], evaluator, evaluator_ref, input)
   end
 


  defp loop(state, evaluator, evaluator_ref) do
    self_pid = self()
    counter  = state.counter
    prefix   = if state.cache != [], do: "...", else: state.prefix

    input = spawn(fn -> io_get(self_pid, prefix, counter) end)
    wait_input(state, evaluator, evaluator_ref, input)

    callback.(state)
  end

  defp kill_input(nil), do: :ok
  defp kill_input(input), do: Process.exit(input, :kill)

  defp allow_take?(identifier) do
