pub(in expr::function_impl) fn try_with<F, R>(
    f: F,
) -> Result<R, ExprError>
where F: FnOnce(&CatalogReader) -> R,