Create a generator for the provided animation function that backs up
    the cursor after a frame. Assumes that the animation function provides
    a generator that yields strings of constant width and height.

    Args:
        frame_function: A function that returns a FrameGenerator.
        args: Arguments for frame_function.
        kwargs: Keyword arguments for frame_function.
    Returns:
        a generator that generates backspace/backline characters for
        the animation func generator.

def _get_back_up_generator(frame_function, *args, **kwargs):
    """Create a generator for the provided animation function that backs up
    the cursor after a frame. Assumes that the animation function provides
    a generator that yields strings of constant width and height.

    Args:
        frame_function: A function that returns a FrameGenerator.
        args: Arguments for frame_function.
        kwargs: Keyword arguments for frame_function.
    Returns:
        a generator that generates backspace/backline characters for
        the animation func generator.
    """
    lines = next(frame_function(*args, **kwargs)).split('\n')
    width = len(lines[0])
    height = len(lines)
    if height == 1:
        return util.BACKSPACE_GEN(width)
    return util.BACKLINE_GEN(height)