// Only implemented for types that implement [`UnpackValue`]. Nonsensical for other types.
Only implemented for types that implement [`UnpackValue`]. Nonsensical for other types.
Only implemented for types that implement [ ` UnpackValue ` ] . Nonsensical for other types .
fn unpack_value(value: Value<'v>) -> Option<Self> {
        if let Some(left) = TLeft::unpack_value(value) {
            Some(Self::Left(left))
        } else {
            TRight::unpack_value(value).map(Self::Right)
        }
    }
fn unpack_value ( value : Value < ' v > ) -> Option < Self > { if let Some ( left ) = TLeft :: unpack_value ( value ) { Some ( Self :: Left ( left ) ) } else { TRight :: unpack_value ( value ) . map ( Self :: Right ) } }
Only implemented for types that implement [`UnpackValue`].
Only implemented for types that implement [ ` UnpackValue ` ] .
value
Value<'v>