code: function freeze() {
      var values
      var plugin
      var options
      var transformer
  
      if (frozen) {
        return processor
      }
  
      while (++freezeIndex < attachers.length) {
        values = attachers[freezeIndex]
        plugin = values[0]
        options = values[1]
        transformer = null
  
        if (options === false) {
          continue
        }
  
        if (options === true) {
          values[1] = undefined
        }
  
        transformer = plugin.apply(processor, values.slice(1))
  
        if (typeof transformer === 'function') {
          transformers.use(transformer)
        }
      }
  
      frozen = true
      freezeIndex = Infinity
  
      return processor
    }
docs: Freeze: used to signal a processor that has finished configuration.  For example, take unified itself.  It’s frozen.  Plugins should not be added to it.  Rather, it should be extended, by invoking it, before modifying it.  In essence, always invoke this when exporting a processor.