docs: def _merge_points(self, pc1, pc2):
          """
          Merges points based on time/location.
  
          @TODO: move to paegan, SO SLOW
          """
          res = pc1[:]
  
          for p in pc2:
              for sp in res:
                  if sp.time == p.time and (
                      sp.location is None or (sp.location.equals(p.location))
                  ):
                      sp.members.extend(p.members)
                      break
              else:
                  res.append(p)
  
          return res