func divBy x 0 = x / yield 'INF func divBy x "y" = x / yield 'NAN func divBy x y = x / y proc main!() { let x = with divBy 3 0 { when 'NAN cancel 0 when 'INF resume 1 else yield } let y = with divBy 4 "y" { when 'NAN cancel 9 when 'INF resume 2 else yield } let z = with divBy 4 2 { when 'NAN cancel 9 when 'INF resume 4 else yield } exit x + y + z }