docs: def get_sources(self, kind='all'):
          """
          Extract the sources contained in the source models by optionally
          filtering and splitting them, depending on the passed parameter.
          """
          assert kind in ('all', 'indep', 'mutex'), kind
          sources = []
          for sm in self.source_models:
              for src_group in sm.src_groups:
                  if kind in ('all', src_group.src_interdep):
                      for src in src_group:
                          if sm.samples > 1:
                              src.samples = sm.samples
                          sources.append(src)
          return sources