Moved negate to a "macro"