def check_absence_of_monotonous_long_motion(counterpoint_continuation:
    'LineElement', current_motion_start_element: 'LineElement',
    max_distance_in_semitones: int=9, **kwargs) ->bool:
    """
    Check that line does not move too far without any changes in direction.

    :param counterpoint_continuation:
        current continuation of counterpoint line
    :param current_motion_start_element:
        element of counterpoint line such that there are no
        changes in direction after it
    :param max_distance_in_semitones:
        maximum allowed distance (in semitones)
    :return:
        indicator whether a continuation is in accordance with the rule
    """
    current = counterpoint_continuation.scale_element.position_in_semitones
    start = current_motion_start_element.scale_element.position_in_semitones
    if abs(current - start) > max_distance_in_semitones:
        return False
    return True
