pub fn r_subset_of_r_unoptimised<'a, T: MonadFail<'a, ()>, A: 'a + Send + Clone, D: 'a + PartialEq>(
    comparator: &'a dyn Comparator<A>,
    r_subset: Arc<dyn TraversibleBinaryReference<'a, T, A, D>>,
    r_superset: Arc<dyn TraversibleBinaryReference<'a, T, A, D>>,
    k_l: Option<A>,
    k_r: Option<A>
) -> T::F<()>