docs: def vert_opposites_per_edge(self):
          """Returns a dictionary from vertidx-pairs to opposites.
          For example, a key consist of [4, 5)] meaning the edge between
          vertices 4 and 5, and a value might be [10, 11] which are the indices
          of the vertices opposing this edge."""
          result = {}
          for f in self.f:
              for i in range(3):
                  key = [f[i], f[(i+1)%3]]
                  key.sort()
                  key = tuple(key)
                  val = f[(i+2)%3]
  
                  if key in result:
                      result[key].append(val)
                  else:
                      result[key] = [val]
          return result