It would be really handy if C++ supported both its existing typedef behavior (aliasing) and the Pascal kind (distinct copy). I wonder if any other strongly typed languages (e.g. Haskell) support both kinds of behavior.
c style:
type Foo = Int
pascal style: newtype Foo = Foo Int