Add non-mutating shuffle