adapter() :: Tai.Venues.Adapter.t()
product() :: Tai.Venues.Product.t()
hydrate(adapter :: adapter(), products :: [product()]) :: :ok | {:error, reason :: term()}