This one is aging and not always trivial. Let's indicate what the macros do and what traps not to fall into.