fn async_run<F, G, H>(
cli: &impl SubstrateCli,
cmd: &impl CliConfiguration,
mainnet: impl FnOnce((Arc<TFullClient<Block, RuntimeApi, MainnetExecutor>>, Arc<TFullBackend<Block>>, DefaultImportQueue<Block, TFullClient<Block, RuntimeApi, MainnetExecutor>>, TaskManager), Configuration) -> Result<(F, TaskManager)>,
alcyone: impl FnOnce((Arc<TFullClient<Block, RuntimeApi, AlcyoneExecutor>>, Arc<TFullBackend<Block>>, DefaultImportQueue<Block, TFullClient<Block, RuntimeApi, AlcyoneExecutor>>, TaskManager), Configuration) -> Result<(G, TaskManager)>,
general: impl FnOnce((Arc<TFullClient<Block, RuntimeApi, GeneralExecutor>>, Arc<TFullBackend<Block>>, DefaultImportQueue<Block, TFullClient<Block, RuntimeApi, GeneralExecutor>>, TaskManager), Configuration) -> Result<(H, TaskManager)>
) -> Result<(), Error> where
F: Future<Output = Result<()>>,
G: Future<Output = Result<()>>,
H: Future<Output = Result<()>>,