human
I wrote the below code

    def recurrent_wrapper(application_function):
        arg_spec = inspect.getargspec(application_function)
        arg_names = arg_spec.args[1:]
        @wraps(application_function)
        def recurrent_apply(brick, application, application_call, *args, **kwargs):
            'Iterates    a    transition    function.\n\n                                                Parameters\n                                                ----------\n                                                iterate    :    bool\n                                                                If    ``True``    iteration    is    made.    By    default    ``True``.\n                                                reverse    :    bool\n                                                                If    ``True``,    the    sequences    are    processed    in    backward\n                                                                direction.    ``False``    by    default.\n                                                return_initial_states    :    bool\n                                                                If    ``True``,    initial    states    are    included    in    the    returned\n                                                                state    tensors.    ``False``    by    default.\n\n                                                '
            iterate = kwargs.pop('iterate', True)
            if (not iterate):
                return application_function(brick, *args, **kwargs)
            reverse = kwargs.pop('reverse', False)
            scan_kwargs = kwargs.pop('scan_kwargs', {})
            return_initial_states = kwargs.pop('return_initial_states', False)
            for (arg, arg_name) in zip(args, arg_names):
                kwargs[arg_name] = arg
            scan_arguments = ((application.sequences + application.states) + application.contexts)
            for arg in scan_arguments:
                if (arg in kwargs):
                    if (kwargs[arg] is None):
                        del...

What's a good function header?
 Here's a good function header?
assistant
#Here's a good function header.

def recurrent(*args, **kwargs):