pub type BuiltinEndCallback<'a> = dyn Fn(&'a str, Vec<Value>) -> Pin<Box<dyn Future<Output = Result<Option<Value>, RuntimeError>> + 'a>> + 'a;