pub fn eq_item<K>(
    l: &Item<K>,
    r: &Item<K>,
    eq_kind: impl FnMut(&K, &K) -> bool
) -> bool