docs: def configparser_to_backend_config(cp_instance):
      """
      Return a config dict generated from a configparser instance.
  
      This functions main purpose is to ensure config dict values are properly typed.
  
      Note:
          This can be used with any ``ConfigParser`` backend instance not just the default one
          in order to extract its config.
          If a key is not found in ``cp_instance`` the resulting dict will have ``None``
          assigned to this dict key.
      """
      def get_store():
          # [TODO]
          # This should be deligated to a dedicated validation function!
          store = cp_instance.get('Backend', 'store')
          if store not in hamster_lib.REGISTERED_BACKENDS.keys():
              raise ValueError(_("Unrecognized store option."))
          return store
  
      def get_day_start():
          try:
              day_start = datetime.datetime.strptime(cp_instance.get('Backend',
                  'day_start'), '%H:%M:%S').time()
          except ValueError:
              raise ValueError(_(
                  "We encountered an error when parsing configs 'day_start'"
                  " value! Aborting ..."
              ))
          return day_start
  
      def get_fact_min_delta():
          return cp_instance.getint('Backend', 'fact_min_delta')
  
      def get_tmpfile_path():
          return cp_instance.get('Backend', 'tmpfile_path')
  
      def get_db_engine():
          return text_type(cp_instance.get('Backend', 'db_engine'))
  
      def get_db_path():
          return text_type(cp_instance.get('Backend', 'db_path'))
  
      def get_db_host():
          return text_type(cp_instance.get('Backend', 'db_host'))
  
      def get_db_port():
          return cp_instance.getint('Backend', 'db_port')
  
      def get_db_name():
          return text_type(cp_instance.get('Backend', 'db_name'))
  
      def get_db_user():
          return text_type(cp_instance.get('Backend', 'db_user'))
  
      def get_db_password():
          return text_type(cp_instance.get('Backend', 'db_password'))
  
      result = {
          'store': get_store(),
          'day_start': get_day_start(),
          'fact_min_delta': get_fact_min_delta(),
          'tmpfile_path': get_tmpfile_path(),
          'db_engine': get_db_engine(),
          'db_path': get_db_path(),
          'db_host': get_db_host(),
          'db_port': get_db_port(),
          'db_name': get_db_name(),
          'db_user': get_db_user(),
          'db_password': get_db_password(),
      }
      return result