datatype result = Neg | Zero | Pos table t : {A : int} fun main () : transaction page = let fun check () = r <- oneRow (SELECT SUM(t.A) AS X FROM t); return (if r.X < 0 then Neg else if r.X = 0 then Zero else Pos) fun show r = case r of Neg => - | Zero => 0 | Pos => + in s <- source Zero; return