def has_repetition(page_list):
    """
    Check if a list of page hits contains a page repetition (A >> B >> A) == True.
    Run on journeys with collapsed loops so stuff like A >> A >> B are not captured as a repetition.
    Similar to cycles/triangles, but from a flat perspective.
    :param page_list: list of page hits derived from BQ user journey
    :return: True if there is a repetition
    """
    return len(set(page_list)) != len(page_list)