pub fn invert<I>(permutation: I) -> impl Iterator<Item = (usize, usize)>where I: IntoIterator<Item = usize>,
Given a permutation, construct its inverse.