recover macros are implemented in terms of two functions,
followrecover-failcall, which take functions as arguments.
There is no API to remove or cancel a callback created with
attend. Instead, the
then macro returns a promise which receives return value of the return value of the callback function. If you deliver a value to that returned promise before the underlying promise is delivered, the callback function will not be executed. There is an implicit race condition with cancellation, so this cannot guarantee that the callback function will never be executed at all.