              func = self.config.getfloat
          elif datatype == list:
              func = self._parse_list
          else:
              func = self.config.get
          retval = func(section, option)
          if isinstance(retval, str) and retval.lower() == "none":
              retval = None
          logger.debug("Returning item: (type: %s, value: %s)", datatype, retval)
          return retval
  
 
</s> remove             func = self._parse_list
 </s> add             retval = self._parse_list(section, option) </s> remove             func = self.config.getfloat
 </s> add             retval = self.config.getfloat(section, option) </s> remove             func = self.config.getint
 </s> add             retval = self.config.getint(section, option) </s> remove             func = self.config.getboolean
 </s> add             retval = self.config.getboolean(section, option) </s> remove         datatype = self.defaults[section][option]["type"]
 </s> add         datatype = self.defaults[section].items[option].datatype

        retval: ConfigValueType
            retval = self.config.get(section, option)

              func = self.config.getfloat
          elif datatype == list:
              func = self._parse_list
          else:
            retval = self.config.get(section, option)

            retval = self.config.get(section, option)

          if isinstance(retval, str) and retval.lower() == "none":
              retval = None
          logger.debug("Returning item: (type: %s, value: %s)", datatype, retval)
          return retval
  
keep keep keep keep replace replace keep keep keep keep keep
 Preview - Allow mask color/opacity configuration
  - typing: lib.config
  - docs: lib.config
  - bugfix: popup_configure - keep assets on top 
lib/config.py