commit: = < > <= >=: it's OK to use the compiler macro when first, last args side effect