Joining im::Vector<T>

I have looked over https://docs.rs/im/15.0.0/im/vector/struct.Vector.html twice.

Is there no 'join' function of sorts that does:

Vec<im::Vector<T>> -> im::Vector<T> or
im::Vector<im::Vector<T>> -> im::Vector<T>

Vector implements the Sum trait, so you can use Iterator::sum to join any iterator of Vectors. For example:

fn join<T: Clone>(v: Vec<im::Vector<T>>) -> im::Vector<T> {
    v.into_iter().sum()
}

You could also write this using fold:

fn join<T: Clone>(v: Vec<im::Vector<T>>) -> im::Vector<T> {
    v.into_iter().fold(im::Vector::new(), |a, b| a + b)
}