docs: def next_chunk(self):
          """
          Returns the chunk immediately following (and adjacent to) this one, if it exists.
  
          :returns: The following chunk, or None if applicable
          """
  
          def sym_base_handler(base):
              l.warning("A computed chunk base is symbolic; maximizing it")
              return self.state.solver.max_int(base)
  
          base = concretize(self.base + self.get_size(), self.state.solver, sym_base_handler)
          if base >= self.heap.heap_base + self.heap.heap_size - 2 * self._chunk_size_t_size:
              return None
          else:
              return PTChunk(base, self.state)