code: def offset_overlays(self, text, offset=0, run_deps=True, **kw):
          
  
          if run_deps and self.dependencies:
              text.overlay(self.dependencies)
  
          for ovlf in self.matchers[0].offset_overlays(text,
                                                       goffset=offset,
                                                       **kw):
              for ovll in self._fit_overlay_lists(text, ovlf.end,
                                                  self.matchers[1:]):
                  yield self._merge_ovls([ovlf] + ovll)
docs: The heavy lifting is done by fit_overlays. Override just that for
          alternatie implementation.