def pmap(iterable, fn):
    """
    Pipeable version of `map`, i.e., the arguments are swapped.

    Because `map` expects a function as first argument it is not really suited
    for `pipe`. `pmap` swaps the arguments.

    Args:
        iterable: some iterable
        fn (callable):

    Returns:
        result of map(fn, iterable)

    Examples:
        >>> pipe(
        ...     range(5),
        ...     (pmap, lambda x: x*x),
        ...     list)
        [0, 1, 4, 9, 16]

    """
    return map(fn, iterable)