Why is ++ [increment] a macro, and more complex than it needs to be?

The only thing I can think of, is their macro works with non-reference values too? Maybe that’s why?

I can’t think of any reason why I would care about ++ if it wasn’t to actually increment that variable, so I would assume the function is fine (and or better)?