import CEI, Sys func expand_power(n): if n == 0: return [| 1 |] else: return [| &x * $c{expand_power(n-1)} |] func power(n): ast := [| func (&x): return $c{expand_power(n)} |] Sys::println(CEI::pp_itree(ast)) return ast power3 := $ func main(): Sys::println(power3(3))