docs: def ces(subsystem, mechanisms=False, purviews=False, cause_purviews=False,
          effect_purviews=False, parallel=False):
      """Return the conceptual structure of this subsystem, optionally restricted
      to concepts with the mechanisms and purviews given in keyword arguments.
  
      If you don't need the full |CauseEffectStructure|, restricting the possible
      mechanisms and purviews can make this function much faster.
  
      Args:
          subsystem (Subsystem): The subsystem for which to determine the
              |CauseEffectStructure|.
  
      Keyword Args:
          mechanisms (tuple[tuple[int]]): Restrict possible mechanisms to those
              in this list.
          purviews (tuple[tuple[int]]): Same as in |Subsystem.concept()|.
          cause_purviews (tuple[tuple[int]]): Same as in |Subsystem.concept()|.
          effect_purviews (tuple[tuple[int]]): Same as in |Subsystem.concept()|.
          parallel (bool): Whether to compute concepts in parallel. If ``True``,
              overrides :data:`config.PARALLEL_CONCEPT_EVALUATION`.
  
      Returns:
          CauseEffectStructure: A tuple of every |Concept| in the cause-effect
          structure.
      """
      if mechanisms is False:
          mechanisms = utils.powerset(subsystem.node_indices, nonempty=True)
  
      engine = ComputeCauseEffectStructure(mechanisms, subsystem, purviews,
                                           cause_purviews, effect_purviews)
  
      return CauseEffectStructure(engine.run(parallel or
                                             config.PARALLEL_CONCEPT_EVALUATION),
                                  subsystem=subsystem)