docs: def coverage(self,
                   container: Container,
                   *,
                   instrument: bool = True
                   ) -> TestSuiteCoverage:
          """
          Computes complete test suite coverage for a given container.
  
          Parameters:
              container: the container for which coverage should be computed.
              rebuild: if set to True, the program will be rebuilt before
                  coverage is computed.
          """
          uid = container.uid
          logger.info("Fetching coverage information for container: %s",
                      uid)
          uri = 'containers/{}/coverage'.format(uid)
          r = self.__api.post(uri,
                              params={'instrument': 'yes' if instrument else 'no'})
          if r.status_code == 200:
              jsn = r.json()
              coverage = TestSuiteCoverage.from_dict(jsn)  # type: ignore
              logger.info("Fetched coverage information for container: %s",
                          uid)
              return coverage
          try:
              self.__api.handle_erroneous_response(r)
          except exceptions.BugZooException as err:
              logger.exception("Failed to fetch coverage information for container %s: %s", uid, err.message)  # noqa: pycodestyle
              raise
          except Exception as err:
              logger.exception("Failed to fetch coverage information for container %s due to unexpected failure: %s", uid, err)  # noqa: pycodestyle
              raise