       %RuntimeError{message: "oops"}
 
   """
-  @spec start_link((() -> term), GenServer.options) :: on_start
+  @spec start_link((-> term), GenServer.options()) :: on_start
   def start_link(fun, options \\ []) when is_function(fun, 0) do
     GenServer.start_link(Agent.Server, fun, options)
   end


  See `start_link/4` for more information.
  """
  @spec start(module, atom, [any], GenServer.options) :: on_start
  def start(module, fun, args, options \\ []) do
    GenServer.start(Agent.Server, {module, fun, args}, options)
  end

      42

  """
  @spec start((-> term), GenServer.options()) :: on_start
  def start(fun, options \\ []) when is_function(fun, 0) do
    GenServer.start(Agent.Server, fun, options)
  end
