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) {}