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