def METHOD_NAME(line):
    """Yield (start, stop) tuple for each occurrence of `phrase` in `line`"""
    start = stop = -1
    if not phrase:
        yield (start, stop)
    def positions_of(phrase, line):
        start = line.find(phrase)
        while start > -1:
            stop = start + strwidth(phrase)
            yield (start, stop)
            # Find next start
            offset = line[stop:].find(phrase)
            if offset > -1:
                start = stop + offset
            else:
                start = -1
    if case_sensitive:
        yield from positions_of(phrase, line)
    else:
        yield from positions_of(phrase, line.casefold())