//! Each rule group is applied to the whole tree as with `reduce_with_rules`, before the next group is tried.
//! This lets us make powerful "evaluation" rules which greedily reduce the tree as much as possible, before other
// a_to_b is in a higher group than unwrap_a, so it will be applied first to the lower expression