table t : {Id : int, Parent : option int} fun recurse (root : option int) = queryX' (SELECT * FROM t WHERE {eqNullable' (SQL t.Parent) root}) (fn r => children <- recurse (Some r.T.Id); (*s <- source False;*) return HI{children}BYE (*else return *)}/> ) fun main () = x <- recurse None; return {x}