     {started_at, time, result}
   end
 
+  @doc "Same as `run/1` but takes `fun` and `args` separately."
   def run(fun, args) do
     started_at = now()
     {time, result} = :timer.tc(fun, args)

    end)
  end

  def by_tag(exec, tag_name) do
    exec
    |> all()
    |> Enum.filter(fn {tags, _started_at, _time} -> tags[tag_name] end)
  end

  def by_tag(exec, tag_name, regex) do
    exec
    |> all()

    end)
  end

  @doc """
  Returns the earliest timestamp for the given `exec`.
  """
  def started_at(exec) do
    {_, started_at, _} =
      exec
