<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def map(fun: Callable, xs: Iterable):
 """ Traverse an iterable object applying function `fun` to each element and finally creats a workflow from it. :param fun: function to call in each element of the iterable object. :param xs: Iterable object. returns::py:class:`PromisedObject` """

    generator = (fun(x) for x in xs)

    return gather(*generator)