Returns a new, randomly shuffled list.
If random is given, it is being used for random number generation.
random
List<E> shuffled([Random? random]) => toList()..shuffle(random);