<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def flatten_args(shapes):
 r""" Decorator to flatten structured arguments to a function. Examples -------- True True Some other curious applications array([ 1.86 , 5.301, -3.72 ]) array([ 1.86 , 5.301, -3.72 ]) (15, 9) array([-5. , -4.5, -4. , -3.5, -3. , -2.5, -2. , -1.5, -1. ]) (15, 9) array([-0.5, 0. , 0.5, 1. , 1.5, 2. , 2.5, 3. , 3.5, 4. , 4.5, 5. , 5.5, 6. , 6.5]) """

    def flatten_args_dec(func):

        @wraps(func)
        def new_func(array1d, *args, **kwargs):
            args = tuple(unflatten(array1d, shapes)) + args
            return func(*args, **kwargs)

        return new_func

    return flatten_args_dec