#[hook]Expand description
Turn a function into a custom hook.
Adds #[track_caller] and wraps the body in
cx.hook_scope(Location::caller(), |cx| ..), so that the hooks inside are
keyed by where the custom hook was called. The first &mut Cx argument is
the one that gets scoped.