            | Continuation (otree: NodeId) (a: AST) (cont: Cont)
             | Return (a: AST)
             | Start

data Cont    = Expressions (ast: AST) Option (vec: Iter AST) (cont: Cont)
             | Assign (ast: AST) (cont: Cont)
             | Cond (c,d: AST) (cont: Cont)
             | Func (a,b,c: AST) (cont: Cont)
             | List (acc: Vec AST) (vec: Iter AST) (i: Nat) (cont: Cont)
             | Call (a: AST) (i: Nat) (cont: Cont)
             | Return
             | Intercore (m: Message) 