docs: def spit_config(self, conf_file=None, firstwordonly=False):
          """Write a config_file based on this instance.
  
          conf_file: str (or Falseish)
              If conf_file is Falseish, write the file to the directory
              where self.filename sits, if self is not already associated
              with such a file. If associated, and conf_file is Falseish,
              use self.conf_file. If conf_file is a file name, write to
              that file and set self.conf_file to conf_file.
  
          firstwordonly: bool or "pattern"
              Same meaning as in name method, and applies to the channel
              names spitted. There is no effect on the instance channel
              names until eat_config is called.
  
          Sections in the ini/cfg kind of file can be:
  
              [channels]
              A mapping of self.D integer keys to channel names. Options
              are numbers corresponding to the keys. Values are the
              channel names, being the fallback names if custom names are
              not available (self.chnames). (When spitting that is).
  
              [conditions]
              Options correspond to the keys in self.conditions, values
              correspond to the values in the same.
          """
  
          chroot = os.path.dirname(self.filename)
          chroot = os.path.abspath(chroot)
  
          # Figure out file name of conf_file:
          if hasattr(self, 'conf_file') and not conf_file:
              cfgfn = self.conf_file
          elif conf_file:
              cfgfn = conf_file
          else:
              cfgfn = os.path.join(chroot, CONFIG_FILE)
  
          with open(cfgfn, 'wb') as fo:
              self.conconf.spit_config(fo, firstwordonly=firstwordonly)
  
          self.conf_file = os.path.abspath(cfgfn)