def Collect(iterable, container=list):
    """
    iterable >> Collect(container)

    Collects all elements of the iterable input in the given container.

    >>> range(5) >> Collect()
    [0, 1, 2, 3, 4]

    >>> [1, 2, 3, 2] >> Collect(set)  # doctest: +SKIP
    {1, 2, 3}

    >>> [('one', 1), ('two', 2)] >> Collect(dict)  # doctest: +SKIP
    {'one': 1, 'two': 2}

    :param iterable iterable: Any iterable, e.g. list, range, ...
    :param container container: Some container, e.g. list, set, dict
           that can be filled from an iterable
    :return: Container
    :rtype: container
    """
    return container(iterable)