CGS unit defs and refactoring operators with macro