code: function(path) {
              const { node } = path;
  
              if (node[condExprSeen] || !isVoid0(node.consequent)) {
                return;
              }
  
              node[condExprSeen] = true;
  
              const tests = [node.test];
              const mutations = [];
              let alt;
              for (
                let next = path.get("alternate");
                next.isConditionalExpression();
                next = next.get("alternate")
              ) {
                next.node[condExprSeen] = true;
                alt = next.node.alternate;
  
                if (isVoid0(next.node.consequent)) {
                  tests.push(next.node.test);
                  mutations.push(() => next.remove());
                } else {
                  alt = next.node;
                  break;
                }
              }
  
              if (tests.length === 1) {
                return;
              }
  
              const test = tests.reduce((expr, curTest) =>
                t.logicalExpression("||", expr, curTest)
              );
  
              path.replaceWith(t.conditionalExpression(test, VOID_0, alt));
            }
docs: bar ? void 0 : foo ? void 0 : <etc> bar || foo : void 0 TODO: turn this into general equiv check