Tweak the semantics of type definition

Put the constructors into the environment in reverse order. It shouldn't
make a difference since they are all distinct, but this order is more
natural for the compiler proofs.