code: function Buffer (arg, encodingOrOffset, length) {
    // Common case.
    if (typeof arg === 'number') {
      if (typeof encodingOrOffset === 'string') {
        throw new Error(
          'If encoding is specified then the first argument must be a string'
        )
      }
      return allocUnsafe(arg)
    }
    return from(arg, encodingOrOffset, length)
  }
docs: The Buffer constructor returns instances of `Uint8Array` that have their
  prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of
  `Uint8Array`, so the returned instances will have all the node `Buffer` methods
  and the `Uint8Array` methods. Square bracket notation works as expected -- it
  returns a single octet.
  
  The `Uint8Array` prototype remains unmodified.