Removing the datatype declaration of "order" allows the standard General.order
to be used. Thus we can use Int.compare and String.compare instead of the
slower home-grown versions.
consts value :: ('a => 'v) => ('a,'v)expr => 'v
primrec
"value env (Cex v) = v"
"value env (Vex a) = env a"
"value env (Bex f e1 e2) = f (value env e1) (value env e2)"