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.
ConstDefs = Types +
constdefs nand :: gate
"nand A B == ~(A & B)"
exor :: gate
"exor A B == A & ~B | ~A & B"
end