<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def returns(*checkers_args):
 """ Create a decorator for validating function return values. Parameters checkers_args: positional arguments A single functions to apply to the output of the decorated function. If a tuple is returned by the decorated function, multiple function can be listed and are assumed to match by possition to the elements in the returned tuple. Examples -------- @returns(df_checker) def do_something_with_df(df, args*, kw**):
 print(df.head()) return df @returns(df_checker1, df_checker2) def do_something_with_dfs(df1, df2, args*, kw**):
 # Do somethign with both dfs return (df1, df2) """

    
    @decorator
    def run_checkers(func, *args, **kwargs):
        ret = func(*args, **kwargs)
        
        if type(ret) != tuple:
            ret = (ret, )
        assert len(ret) == len(checkers_args)
        
        if checkers_args:
            for idx, checker_function in enumerate(checkers_args):
                if callable(checker_function):
                    result = checker_function(ret[idx])
        return ret
    return run_checkers