fn combine(one: Self, two: Self) -> Self {
        match (one, two) {
            (Witness::Unavailable, _) => Witness::Unavailable,
            (_, Witness::Unavailable) => Witness::Unavailable,
            (Witness::Stack(mut a), Witness::Stack(b)) => {
                a.extend(b);
                Witness::Stack(a)
            }
        }
    }
/// Concatenate, or otherwise combine, two satisfactions
Concatenate, or otherwise combine, two satisfactions
Concatenate or otherwise combine two satisfactions
fn combine(one: Self, two: Self) -> Self {
        match (one, two) {
            (Witness::Unavailable, _) => Witness::Unavailable,
            (_, Witness::Unavailable) => Witness::Unavailable,
            (Witness::Stack(mut a), Witness::Stack(b)) => {
                a.extend(b);
                Witness::Stack(a)
            }
        }
    }
fn combine ( one : Self , two : Self ) -> Self { match ( one , two ) { ( Witness :: Unavailable , _ ) => Witness :: Unavailable , ( _ , Witness :: Unavailable ) => Witness :: Unavailable , ( Witness :: Stack ( mut a ) , Witness :: Stack ( b ) ) => { a . extend ( b ) ; Witness :: Stack ( a ) } } }
Concatenate, or otherwise combine, two satisfactions
Concatenate or otherwise combine two satisfactions
one
Self
two
Self
one
Self
two
Self