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 let y = with divBy 4 "y"
12 when 'NAN cancel 9
13 when 'INF resume 2
14 else yield
15
16 let z = with divBy 4 2
17 when 'NAN cancel 9
18 when 'INF resume 4
19 else yield
20
21 exit x + y + z
22}