<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def until(condition, fns):
 """ Try a list of seeder functions until a condition is met. :param condition: a function that takes one argument - a seed - and returns ``True`` or ``False`` :param fns: a list of seeder functions :return: a "composite" seeder function that calls each supplied function in turn, and returns the first seed where the condition is met. If the condition is never met, it returns ``None``. """

    def f(msg):
        for fn in fns:
            seed = fn(msg)
            if condition(seed):
                return seed
        return None
    return f