'Retrieves a list of matches from given (start, end) tuple.'

def at_span(self, span, predicate=None, index=None):

    starting = self._index_dict[span[0]]
    ending = self._index_dict[(span[1] - 1)]
    merged = list(starting)
    for marker in ending:
        if (marker not in merged):
            merged.append(marker)
    return filter_index(merged, predicate, index)
