An object that can be force-evaluated.
Calling sync ensures that the object's entire dependency DAG has been evaluated, returning the object's ID once complete.
@type t() :: %Dagger.Syncer{client: term(), query_builder: term()}
@spec id(t()) :: {:ok, String.t()} | {:error, term()}
@spec sync(t()) :: {:ok, t()} | {:error, term()}