Returns a list with elements at i and j swapped.
i
j
List<E> swap(int i, int j) { final list = toList(); final aux = list[i]; list[i] = list[j]; list[j] = aux; return list; }