pass Array Buffer to constructor

It's not enough to merely set the right length. You can't directly manipulate the contents of an ArrayBuffer. That's what ArrayBufferViews (like Uint8Array, etc.) are for. So, you'd need to do `subject = new Uint8Array(subject)`