pub fn eval_async_with_storage_externs<'life0, 'life1, 'life2, 'async_recursion, D>(
node: &'life0 Node,
ctx: Arc<dyn CtxStorage>,
dispatcher: &'life1 D,
externs: &'life2 (dyn Externs + Sync),
) -> Pin<Box<dyn Future<Output = Result<(), EvalError>> + Send + 'async_recursion>>where
D: AsyncDispatcher + ?Sized + 'async_recursion,
'life0: 'async_recursion,
'life1: 'async_recursion,
'life2: 'async_recursion,Expand description
eval_async_with_storage + externs registry for call_extern Expr
resolution. externs must be Sync so the recursive future stays Send
(host executors spawn it across threads).