Motivation - Usability and Reliability:
- The current writer is a ref struct, which requires passing by ref.
- The use of array pool could result in reliability concerns if misused.
- Async writes and state passing could be problematic.
IBufferWriterimplementation built in.
- Continue to support
IBufferWriter(i.e. PipeWriter) directly
- Keep ability for user to control buffering with ability to avoid data copies.