rule->def and added 'combinator' macro