All the types that implement this protocol.
@type t() :: term()
@spec delete(t(), String.t()) :: {:ok, t()} | {:error, term()}
@spec list(t(), String.t()) :: [{String.t(), term()}]
@spec read(t(), String.t()) :: {:ok, term()} | {:error, term()}
@spec resolve(t(), String.t()) :: {:ok, binary()} | {:error, term()}
@spec write(t(), String.t(), term(), keyword()) :: {:ok, t()} | {:error, term()}