Because many Reader/Writer implementations (e.g. bufio) assume their able to use subarray() with byte indexes and often ask for byte values, it makes sense to simply restrict all implementations to Uint8Array.
Do not confuse this with Node's Buffer. This is a direct port of Go's bytes.Buffer - it allows buffering of Reader and Writer objects.