! await resume #f port))
    ((await resume loop port)
     (let ()
       (define chunk-size 128)
       (define text (make-bytevector chunk-size))
       (define text-len 0)
       (define (append-byte! u8)
	 (when (= text-len (bytevector-length text))
	   (let ((tmp text))
	     (set! text (make-bytevector (+ text-len chunk-size)))
	     (bytevector-copy! tmp 0 text 0 text-len)))
	 (bytevector-u8-set! text text-len u8)
	 (set! text-len (1+ text-len)))
       (define (make-outstring)
	 (let ((encoding (or