code: function flipNode(node) {
    var rules = node.rules || node.keyframes || [];
  
    rules.forEach(function (rule, i, all) {
      if (rule.declarations) {
        if (isFlippable(rule, all[i - 1])) {
          processDeclarations(rule.declarations);
        }
      } else {
        flipNode(rule);
      }
    });
  }
docs: BiDi flip a single AST `node`. If the node contains rules, each rule is
  passed recursively to `flipNode()`. If the node contains declarations,
  each flippable declaration is flipped.
  
  @param {Object} node