testFunction1 (a,b,c) (d,e,f) { if (T$f()) { // do nothing } elif (#q$r().f()) { ~ require(v).g() } elif (zzz) { // sleep } x <- Type<#z,T<#m>>{ r, Type$new() } x <- empty scoped { optional T myvar <- reduce<#x,#y>(q) } in if (present(myvar)) { ~ unqualified() } else { // something } scoped { optional T myvar <- reduce<#x,#y>(q) } in { v, _ } <- x.process(myvar) scoped { // ... } cleanup { x <- y } in ~ x.process() ~ z.call().call() { x, weak [#k|Type] y, _ } <- z.call() x <- z.T<#z>$call().call() return _ return a return { a, z.call().call(), c } while (true) { ~ failure.to().execute() return x } update { x <- y } } testFunction2 (a,b,c) {}