Just postfix (it's probably going to end up being OK separated by whitespace, though, isn't it? make sure to document it only as value++ and value-- to try to prevent people doing that ;-).
Cookie to the first person to use it outside a loop head. :-)
Aw, don't cave. Wes wouldn't have given in: look at how long we had to suffer with IF_EVAL. If we could survive, so can they with dumb global FUNCTION. My initial response was a bit more acerbic, and I didn't want it to go over the wrong way (aVENGER doesn't usually post here) so I just edited it all out, but it was basically "Deal (with it), bitch." No fair that they can break compatibility when I was never allowed to. :-)
Just to clarify, I'm having THIS = 'where' of the calling action to use in the value (maybe if you pass it in as part of the patch action? it can't be a generic PE value, can it?), so that I can WRITE_BYTE 0x8 THIS | 0x1 instead of WRITE_LONG 0x1e LONG_AT 0x1 SHORT_UNDER 0xe BYTE_OVER 0x1e ^^ 1234456.