This function swiftly and proficiently shuffles a heterogeneous collection of values, which may include objects, strings, numbers, and more. With a time complexity of O(N log N), which matches that of quicksort, it achieves efficient performance. Its space complexity is O(N). However, it's advisable to avoid using this function for collections larger than 1000 elements.