docs: def human_estimate(self, upgrades):
          """Make a human readable estimated time to completion string.
  
          :param upgrades: List of upgrades sorted in topological order.
          """
          val = self.estimate(upgrades)
          if val < 60:
              return "less than 1 minute"
          elif val < 300:
              return "less than 5 minutes"
          elif val < 600:
              return "less than 10 minutes"
          elif val < 1800:
              return "less than 30 minutes"
          elif val < 3600:
              return "less than 1 hour"
          elif val < 3 * 3600:
              return "less than 3 hours"
          elif val < 6 * 3600:
              return "less than 6 hours"
          elif val < 12 * 3600:
              return "less than 12 hours"
          elif val < 86400:
              return "less than 1 day"
          else:
              return "more than 1 day"