Critical, atomic, and STM ideas
- $SLUSH_LEVEL += 4;
Traits on blocks and subs:
is critical trait -- blocks that shouldn't be interrupted or suspended
sub xyz is critical { # stuff to be done that shouldn't be interrupted }
is atomic trait -- blocks that won't perform irreversible actions
sub transaction is atomic { ... }