docs: def _next_address_in_regions(self, address):
          """
          Return the next immediate address that is inside any of the regions.
  
          :param int address: The address to start scanning.
          :return:            The next address that is inside one of the memory regions.
          :rtype:             int
          """
  
          if self._inside_regions(address):
              return address
  
          try:
              return next(self._regions.irange(minimum=address, reverse=False))
          except StopIteration:
              return None