docs: def potential_purviews(self, direction, mechanism, purviews=False):
          """Return all purviews that could belong to the |MIC|/|MIE|.
  
          Filters out trivially-reducible purviews.
  
          Args:
              direction (Direction): |CAUSE| or |EFFECT|.
              mechanism (tuple[int]): The mechanism of interest.
  
          Keyword Args:
              purviews (tuple[int]): Optional subset of purviews of interest.
          """
          if purviews is False:
              purviews = self.network.potential_purviews(direction, mechanism)
              # Filter out purviews that aren't in the subsystem
              purviews = [purview for purview in purviews
                          if set(purview).issubset(self.node_indices)]
  
          # Purviews are already filtered in network.potential_purviews
          # over the full network connectivity matrix. However, since the cm
          # is cut/smaller we check again here.
          return irreducible_purviews(self.cm, direction, mechanism, purviews)