IIRC, there's another optional argument that allows for the user to pass
the sum of the lengths of Buffers.

Also the return Buffer will be either the length of the user requested
Buffer or the length of all Buffers. Whichever is less.

The one exception is if the user specifies a sum length greater than the
actual sum of all Buffers. In this case the user has basically forced there
to be extra bytes allocated at the end of the returned Buffer. This can be
useful in specific cases where the user knows additional data will need to
be copied in the future, but doesn't have that Buffer allocated at that
moment.