code: def update(self):
          
          w = self._weight_generator(self.reviewers)
          diff_p = max(p.update_summary(w) for p in self.products)
          diff_a = max(r.update_anomalous_score() for r in self.reviewers)
          return max(diff_p, diff_a)
docs: Update reviewers' anomalous scores and products' summaries.
  
          Returns:
            maximum absolute difference between old summary and new one, and
            old anomalous score and new one.