tickets/DM-199: Develop new master-worker result system

Is cancel() idempotent - i.e. is it OK for 2 threads to call squash(), with both cancelling some of the same receivers?