pub(crate) fn zip_pad_shorter<Tx: Clone, Ty: Clone>(
    lhs: &[Tx],
    rhs: &[Ty]
) -> Vec<(Option<Tx>, Option<Ty>)>