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

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

    Args:
        iterable: some iterable
        fn (callable):

    Returns:
        result of filter(fn, iterable)

    Examples:
        >>> pipe(
        ...     range(5),
        ...     (pfilter, lambda x: x > 2),
        ...     list)
        [3, 4]

    """
    return filter(fn, iterable)
