> sort_by{ rand } is actually biased, since sort_by will preserve the > relative order of the elements for which rand() returned the same value. How frequently would rand return a same value? (In theory it would be never but does anyone know the reality?)