@tjfontaine Do i need change document and code both then make ` Buffer.concat([new Buffer(10)], 1)  ` return as ` new Buffer(1) `, or just still return as ` new Buffer(10) ` like before.
Maybe keep this API simple will be better:
  1. If the list has no items, then it returns a zero-length buffer.
  1. If specified totalLength, then return a new Buffer has that length after concatenated.
  2. If not specified totalLength, then just concatenate all buffers and return a new Buffer.

And the code will be like blow:
```js
Buffer.concat = function(list, length) {
  if (!util.isArray(list))
    throw new TypeError('Usage: Buffer.concat(list[, length])');

  var listLength = list.length;
  if (listLength === 0)
    return new Buffer(0);

  if (util.isUndefined(length)) {
    length = 0;
    for (var i = 0; i < listLength; i++)
      length += list[i].length;
  } else {
    length = length >>> 0;
  }

  var buffer = new Buffer(length);
  for (var i = 0, pos = 0; i < listLength && pos < length; i++) {
    pos += list[i].copy(buffer, pos);
  }

  return buffer;
}
```

@indutny @bnoordhuis @trevnorris Is it ok?