fun newCounter () : transaction xbody = x <- source 0; return {[n]}}/> fun main () : transaction page = ls <- source ([] : list xbody); return l <- get ls; c <- newCounter (); set ls (c :: l)}/> {[l]}}/>