Key may be a slice or a point.

def overlays_at(self, key):
        """
        Key may be a slice or a point.
        """

        if isinstance(key, slice):
            s, e, _ = key.indices(len(self.text))
        else:
            s = e = key

        return [o for o in self.overlays if o.start in Rng(s, e)]