Compatibility. This change would break existing code.
Performance. Due to the way typed arrays are implemented, you have to create an ArrayBuffer as well which roughly doubles the number of allocs. I was thinking about making ArrayBuffer allocations lazy, but it's proved to be too hard with the current code structure.
regarding compatibility maybe there could be an option you can set on the runtime for it? i feel like at a high level it makes sense for []T to turn into the relevant TypedArray type.
Turns
[]uint8
intoUint8Array
instead of a go array proxy.