pub fn new_partial(
    config: &Configuration
) -> Result<PartialComponents<TFullClient<OpaqueBlock, RuntimeApi, NativeElseWasmExecutor<ExecutorDispatch>>, TFullBackend<OpaqueBlock>, LongestChain<TFullBackend<OpaqueBlock>, OpaqueBlock>, DefaultImportQueue<OpaqueBlock>, FullPool<OpaqueBlock, TFullClient<OpaqueBlock, RuntimeApi, NativeElseWasmExecutor<ExecutorDispatch>>>, (GrandpaBlockImport<TFullBackend<OpaqueBlock>, OpaqueBlock, TFullClient<OpaqueBlock, RuntimeApi, NativeElseWasmExecutor<ExecutorDispatch>>, LongestChain<TFullBackend<OpaqueBlock>, OpaqueBlock>>, LinkHalf<OpaqueBlock, TFullClient<OpaqueBlock, RuntimeApi, NativeElseWasmExecutor<ExecutorDispatch>>, LongestChain<TFullBackend<OpaqueBlock>, OpaqueBlock>>, Option<Telemetry>)>, Error>