code: def powerset(self, start=None, excludestart=False):
          
          if start is None:
              start = self.infimum
              other = self.atoms()
          else:
              if self | start != self:
                  raise ValueError('%r is no subset of %r' % (start, self))
              other = self.fromint(self & ~start).atoms()
          return map(self.frombitset, combos.shortlex(start, list(other)))
docs: Yield combinations from start to self in short lexicographic order.