pub fn t_contains<'a, T: MonadFail<'a, ()>, A: 'a + Send + Clone, D: 'a + PartialEq>(
    comparator: &'a dyn Comparator<A>,
    t_set: Arc<dyn TraversibleBinaryTree<'a, T, A, D>>,
    key: A
) -> T::F<()>