     dup check-disposed
     dup wait-to-read [ drop f ] [ buffer>> buffer-pop ] if ; inline
 
+<PRIVATE
+
 : read-step ( count port -- count ptr/f )
     {
         { [ over 0 = ] [ 2drop 0 f ] }

    1 over wait-to-write
    buffer>> buffer-write1 ; inline

:: port-write ( c-ptr n-remaining port -- )
    port buffer>> :> buffer
    n-remaining buffer size>> min :> n-write

        [ 4drop ] dip
    ] if ; inline recursive

PRIVATE>

M: input-port stream-read-until ( seps port -- byte-array/f sep/f )
    2dup read-until-step dup [ [ 2drop ] 2dip ] [
        over [
            drop
