code: function normalizeFirstOutputStatement (ast) {
    var replaceable;
    traverse.traverse(ast, {
      enter: function (node, parent) {
        if (node.type !== 'Identifier' || node.name !== 'html') {
          return;
        }
        if (parent.type === 'VariableDeclarator') {
          replaceable = parent;
          var scope = findScope(ast, parent);
          traverse.traverse(scope, {
            enter: function (node, parent) {
              if (node.type === 'ForStatement' ||
                  node.type === 'FunctionDeclaration' ||
                  node.type === 'FunctionExpression' ||
                  node.type === 'IfStatement'
              ) {
                this.break();
              }
              else if (node.type === 'Identifier' &&
                       node.name === 'html' &&
                       parent.type === 'AssignmentExpression' &&
                       parent.operator === '+='
              ) {
                parent.operator = '=';
                replaceable.init = null;
                this.break();
              }
            }
          });
        }
      }
    });
    return ast;
  }
docs: If the first output statement is not in a branch, make it a
  direct assignment (`=`) rather than `+=`. And remove the initial value
  from the `html` declarator. This optimisation pass is specifically designed
  to upset @jdalton.