datatype rlist = Nil | Cons of {Data : source string, NewData : source string, Tail : source rlist} fun showString ss = s <- signal ss; return {[s]} fun show rls = v <- signal rls; show' v and show' rl = case rl of Nil => return | Cons {Data = ss, NewData = ss', Tail = rls} => return