@override IVector<B> bind<B>(Function1<A, IVector<B>> f) => foldLeft(emptyVector(), (p, a) => p.plus(f(a)));