Three rules: - macros should never begin or end with a unit/block statement. Only use these inside drivers. - if you only use it once, don't make it a macro, just inline it. - all the separate macros should go at the top, before the drivers.
Three rules: