docs: def all(self, value, pos=None):
          """Return True if one or many bits are all set to value.
  
          value -- If value is True then checks for bits set to 1, otherwise
                   checks for bits set to 0.
          pos -- An iterable of bit positions. Negative numbers are treated in
                 the same way as slice indices. Defaults to the whole bitstring.
  
          """
          value = bool(value)
          length = self.len
          if pos is None:
              pos = xrange(self.len)
          for p in pos:
              if p < 0:
                  p += length
              if not 0 <= p < length:
                  raise IndexError("Bit position {0} out of range.".format(p))
              if not self._datastore.getbit(p) is value:
                  return False
          return True