docs: def unload(self, source: Source) -> None:
          """
          Unloads a registered source, causing all of its associated bugs, tools,
          and blueprints to also be unloaded. If the given source is not loaded,
          this function will do nothing.
          """
          logger.info('unloading source: %s', source.name)
          try:
              contents = self.contents(source)
              del self.__contents[source.name]
              del self.__sources[source.name]
  
              for name in contents.bugs:
                  bug = self.__installation.bugs[name]
                  self.__installation.bugs.remove(bug)
              for name in contents.blueprints:
                  blueprint = self.__installation.build[name]
                  self.__installation.build.remove(blueprint)
              for name in contents.tools:
                  tool = self.__installation.tools[name]
                  self.__installation.tools.remove(tool)
          except KeyError:
              pass
          logger.info('unloaded source: %s', source.name)