Given a value that has a related DataSource implementation, lift it
to the Fetch monad.
Given a value that has a related DataSource implementation, lift it
to the Fetch monad. When executing the fetch the data source will be
queried and the fetch will return its result.
Lift an exception to the Fetch monad.
Join two fetches from any data sources and return a Fetch that returns a tuple with the two results.
Join two fetches from any data sources and return a Fetch that returns a tuple with the two results. It implies concurrent execution of fetches.
Apply the given function to the result of the two fetches.
Apply the given function to the result of the two fetches. It implies concurrent execution of fetches.
Given multiple values with a related DataSource lift them to the Fetch monad.
Lift a plain value to the Fetch monad.
Run a Fetch with the given cache, the result in the monad M.
Run a Fetch with the given cache, returning the final environment in the monad M.
Run a Fetch with the given cache, returning a pair of the final environment and result
in the monad M.
Transform a list of fetches into a fetch of a list.
Transform a list of fetches into a fetch of a list. It implies concurrent execution of fetches.
Apply a fetch-returning function to every element in a list and return a Fetch of the list of results.
Apply a fetch-returning function to every element in a list and return a Fetch of the list of results. It implies concurrent execution of fetches.