List.swap_at: def of bendlib-kernel-list@1.0.0.0 Import: import bendlib-kernel-list@1.0.0.0/list.bend as List Lines 17-27 of bendlib-kernel-list@1.0.0.0/list.bend: https://jend.leeeet.dev/read.txt?path=bendlib-kernel-list@1.0.0.0/list.bend&start_line=17&end_line=27 import Base # Swap positions i and i+1. def swap_at(-A: Data, +i: Nat, xs: List<&2, A>) -> List<&2, A>: match i: case 0n: swap_head(A, xs) case 1n+p: match xs: case Nil{}: Nil{} case +x <> t: x <> swap_at(A, p, t) Uses (3): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat https://jend.leeeet.dev/definition.txt?path=bendlib-kernel-list@1.0.0.0/list.bend&name=swap_head