datatype dlist = Nil | Cons of string * source dlist fun delist dl = case dl of Nil => [] | Cons (x, s) => {[x]} :: {delistSource s} and delistSource s = fun main () : transaction page = tail0 <- source Nil; tail <- source tail0; tb <- source ""; return {delist (Cons ("ROOT", tail0))}