pub type InvokeUserForEndExpr<'a> = dyn for<'b> Fn(&'b str, Vec<Value>, &'b HashMap<String, UserFunction>, &'b [Value]) -> Pin<Box<dyn Future<Output = Result<Value, RuntimeError>> + 'b>> + 'a;