> parent <- TRUE
> wrapper <- FALSE
> err <- catch_cnd(f())
> print(err)
<error/rlang_error>
no wrapper
Backtrace:
  1. rlang::catch_cnd(f())
  8. rlang:::f()
  9. rlang:::g()
 10. rlang:::h()

> wrapper <- TRUE
> err <- catch_cnd(f())
> print(err)
<error/rlang_error>
wrapper
Backtrace:
  1. rlang::catch_cnd(f())
  8. rlang:::f()
  9. rlang:::g()
 10. rlang:::h()

> # FIXME?
> parent <- FALSE
> err <- catch_cnd(f())
> print(err)
<error/rlang_error>
wrapper
Backtrace:
  1. rlang::catch_cnd(f())
  8. rlang:::f()
  9. rlang:::g()
 10. rlang:::h()


withCallingHandlers()
=====================

> print(err_wch)
x
+-<error/rlang_error>
| bar
\-<error/rlang_error>
  foo
Backtrace:
  1. rlang::catch_cnd(...)
  9. rlang:::foo()
 10. rlang:::bar(cnd)
 11. rlang:::baz(cnd)

