code: def _absorb(self, block):
      # deregister this block so it can be merged with a neighbour
      (arena, start, stop) = block
      del self._start_to_block[(arena, start)]
      del self._stop_to_block[(arena, stop)]
  
      length = stop - start
      seq = self._len_to_seq[length]
      seq.remove(block)
      if not seq:
          del self._len_to_seq[length]
          self._lengths.remove(length)
  
      return start, stop
  
imports: import bisect
  from collections import defaultdict
  import mmap
  import os
  import sys
  import tempfile
  import threading
  from .context import reduction, assert_spawning
  from .None import util
label_desc: Use image node_id 7 for calling the Heap obj's underlying member method code with example usage: obj._absorb(block) and returns: start,  stop