   passing the agent state. The function must return the new state.
 
   A timeout can also be specified (it has a default value of 5000).
-  This function always return `:ok`.
+  This function always returns `:ok`.
   """
   @spec update(agent, (state -> state)) :: :ok
   def update(agent, fun, timeout \\ 5000) when is_function(fun, 1) do

        @doc "Marks a task as executed"
        def put_task(task, project) do
          item = {task, project}
          Agent.update(__MODULE__, &Set.put(item, &1))
        end
      end


  The function `fun` is sent to the `agent` which invokes the function
  passing the agent state. The function must return the new state.

  Note that `cast` returns `:ok` immediately, regardless of whether the
  destination node or agent exists.
  """
  @spec cast(agent, (state -> state)) :: :ok
  def cast(agent, fun) when is_function(fun, 1) do
