code: func NewContextWriter(ctx context.Context, w io.Writer) io.Writer {
  	return ctxio.NewWriter(ctx, w)
  }
docs: // NewContextWriter wraps a writer to make it respect given Context.
  // If there is a blocking write, the returned Writer will return whenever the
  // context is cancelled (the return values are n=0 and err=ctx.Err()).