effect A { fun a() -> Unit; } effect B { fun b() -> Unit; } pub fun main() ! Io -> Unit { try { A.a!(); try { A.a!(); try { A.a!(); B.b!(); A.a!(); } handle B { fun b() { print!("b\n"); resume; } } A.a!(); } handle A { fun a() { print!("a inner\n"); resume; } } A.a!(); } handle A { fun a() { print!("a outer\n"); resume; } } }