pub trait CoalescePredicate<Item, T> {
    // Required method
    fn coalesce_pair(&mut self, t: T, item: Item) -> Result<T, (T, T)>;
}pub trait CoalescePredicate<Item, T> {
    // Required method
    fn coalesce_pair(&mut self, t: T, item: Item) -> Result<T, (T, T)>;
}