pub open spec fn swap4_2<A, B, C, D>(i: (C, (A, (B, D)))) -> (A, (B, (C, D)))
{ (i.1.0, (i.1.1.0, (i.0, i.1.1.1))) }