pub fn generate_expanded_permutation<T>(
source: &[T],
target: &[T],
) -> ExpandedPermResultExpand description
generating a permutation from the source vec to the target while
maintaining the position of values by marking unmatched values in the target
with None instead of just removing them