reduce has a specialization for vcat where it preallocates an output array first and then loops over to fill it. mapreduce isn’t so clever here.
It is a bit unfortunate that specializations for vcat/hcat are not mentioned in the documentation AFAICT.