> I think the followings are better.
> ++x --> (tmp = x; x = x.succ; tmp)
> x++ --> (x = x.succ)

Agreed.

Maybe it could be called

x++!

to make it clear to people what is going on (an internal change).  I
don't think it would confuse much at all.
-r