docs: def intersect(self, other):
          """Find the mutual tensor factors of two Hilbert spaces."""
          if other is FullSpace:
              return self
          if other is TrivialSpace:
              return TrivialSpace
          if isinstance(other, ProductSpace):
              other_ops = set(other.operands)
          else:
              other_ops = {other}
          return ProductSpace.create(
                  *sorted(set(self.operands).intersection(other_ops)))