datatype list t = Nil | Cons of t * list t fun handler (ls : list bool) = return datatype wlist = WNil | Empty | WCons of bool * wlist fun whandler' (ls : wlist) = case ls of WNil => Nil | Empty => Empty | WCons (x, ls') => {[x]} :: {whandler' ls'} fun whandler ls = return (whandler' ls) fun main () : transaction page = return !
Nil
Empty
True :: False :: Empty