   @doc """
   Synchronously stops the agent with the given `reason`.
 
-  It returns `:ok` if the server terminates with the given
-  reason, if it terminates with another reason, the call will
+  It returns `:ok` if the agent terminates with the given
+  reason. If the agent terminates with another reason, the call will
   exit.
 
   This function keeps OTP semantics regarding error reporting.


  Note that agents still provide a segregation between the
  client and server APIs, as seen in GenServers. In particular,
  all code inside the function passed to the agent is executed
  by the agent. This distinction is important because you may
  want to avoid expensive operations inside the agent, as it will
  effectively block the agent until the request is fulfilled.

  Consider these two examples:

  end

  @doc """
  Updates the agent state via the given function.

  Same as `update/3` but a module, function, and arguments are expected
  instead of an anonymous function. The state is added as first
  argument to the given list of arguments.
  """
  @spec update(agent, module, atom, [term], timeout) :: :ok
  def update(agent, module, fun, args, timeout \\ 5000) do
