More work on coroutine-level cancel clause.

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>