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