docs: def set_of(*generators):
      """
      Generates a set consisting solely of the specified generators.
      This is a class factory, it makes a class which is a closure around the
      specified generators.
      """
  
      class SetOfGenerators(ArbitraryInterface):
          """
          A closure class around the generators specified above, which
          generates a set of the generators.
          """
  
          @classmethod
          def arbitrary(cls):
              """
              Generate a set of the enclosed generators.
              """
              arbitrary_set = set()
              for generator in generators:
                  arbitrary_set |= {
                      arbitrary(generator)
                      # max_size / len(generators):
                      for _ in range(arbitrary(int) % 100)
                  }
              return arbitrary_set
  
      SetOfGenerators.__name__ = ''.join([
          'set_of(', ', '.join(generator.__name__ for generator in generators),
          ')'
      ])
      return SetOfGenerators