def quick_sort(sequence: list) -> list:
    """Simple implementation of the quick sort algorithm in Python
    :param sequence: some mutable ordered collection with heterogeneous comparable items inside
    :return: the same collection ordered by ascending
    """

    if len(sequence) < 2:
        return sequence
    _sequence = sequence[:]

    pivot = _sequence.pop()
    lesser = []
    greater = []
    for element in _sequence:
        (greater if element > pivot else lesser).append(element)
    return quick_sort(lesser) + [pivot] + quick_sort(greater)