   """
   @spec whereis :: pid | nil
   def whereis() do
-    Enum.find_value([node() | Node.list], fn node ->
+    Enum.find_value([node() | Node.list()], fn node ->
       server = :rpc.call(node, IEx.Server, :local, [])
       if is_pid(server), do: server
     end)

  """
  @spec start_evaluator(keyword) :: pid
  def start_evaluator(opts) do
    evaluator = opts[:evaluator] ||
                :proc_lib.start(IEx.Evaluator, :init, [:ack, self(), Process.group_leader, opts])
    Process.put(:evaluator, evaluator)
    evaluator
  end

  # done after the start loop.

  defp run(opts) when is_list(opts) do
    IO.puts(
      "Interactive Elixir (#{System.version()}) - press Ctrl+C to exit (type h() ENTER for help)"
    )

    evaluator = start_evaluator(opts)
    loop(iex_state(opts), evaluator, Process.monitor(evaluator))
  end
