Actually just three programming languages in a trenchcoat
1func divBy x 0 = x / yield 'INF
2func divBy x "y" = x / yield 'NAN
3func divBy x y = x / y
4
5proc main!() {
6 let x = with divBy 3 0 {
7 when 'NAN cancel 0
8 when 'INF resume 1
9 else yield
10 }
11
12 let y = with divBy 4 "y" {
13 when 'NAN cancel 9
14 when 'INF resume 2
15 else yield
16 }
17
18 let z = with divBy 4 2 {
19 when 'NAN cancel 9
20 when 'INF resume 4
21 else yield
22 }
23
24 exit x + y + z
25}