This is the start for an abstract data type Id.
We need instance Eq Id and instance Ord Id.
Furthermore an IdSupply.
However, currently Int is used for that purpose and shall slowly be
replaced by the new type Id.
Update: Slowly really doesn't cut it very well. Sometimes you have to
just dive in and newtype, even if it *will* take days to fix the
type errors. (This is a *slight* exaggeration...)
Now Int has been replaced by the newtype Id, but there are a few
places on the frontier that don't really make any sense, such as in
ByteCode.Compiler (Why were we passing Ids to
PUSH_ARG?) and RenameLib (why are we passing them to