adapter() :: Tai.Exchanges.Adapter.t()
hydrate(adapter :: adapter()) :: :ok | {:error, reason :: term()}