Improve streams

OK for doc. Parameters can't be protected, otherwise implementations cannot special case on `ArrayBufferInputStream`.