docs: def maybe_a(generator):
      """
      Generates either an arbitrary value of the specified generator or None.
      This is a class factory, it makes a class which is a closure around the
      specified generator.
      """
  
      class MaybeAGenerator(ArbitraryInterface):
          """
          A closure class around the generator specified above, which generates
          either that generator or None.
          """
  
          @classmethod
          def arbitrary(cls):
              """
              Generate either the enclosed generator or None.
              """
              return arbitrary(one_of(None, generator))
  
      MaybeAGenerator.__name__ = ''.join(['maybe_a(', generator.__name__, ')'])
      return MaybeAGenerator