def check_step_motion_from_dissonance(
        movement: int,
        is_last_element_consonant: bool,
        **kwargs
) -> bool:
    """
    Check that there is step motion from a dissonating element.

    Note that this rule prohibits double neighboring tones.

    :param movement:
        melodic interval (in scale degrees) for line continuation
    :param is_last_element_consonant:
        indicator whether last element of counterpoint line (not including
        a new continuation in question) forms consonance with cantus firmus
    :return:
        indicator whether a continuation is in accordance with the rule
    """
    if is_last_element_consonant:
        return True
    return movement in [-1, 1]