 : <process-writer> ( desc encoding -- stream )
     (process-writer) drop ; inline
 
-: with-process-writer* ( ... desc encoding quot: ( ... -- ... ) -- ... process status )
+: with-process-writer* ( desc encoding quot -- process status )
     [ (process-writer) ] dip '[ _ with-output-stream ] dip
     dup wait-for-process ; inline
 
-: with-process-writer ( ... desc encoding quot: ( ... -- ... ) -- ... )
+: with-process-writer ( desc encoding quot -- )
     with-process-writer* check-success ; inline
 
 <PRIVATE

: <process-stream> ( desc encoding -- stream )
    (process-stream) drop ; inline

: with-process-stream* ( ... desc encoding quot: ( ... -- ... ) -- ... process status )
    [ (process-stream) ] dip '[ _ with-stream ] dip
    dup wait-for-process ; inline

: with-process-stream ( ... desc encoding quot: ( ... -- ... ) -- ... )
    with-process-stream* check-success ; inline

ERROR: output-process-error { output string } { process process } ;

: <process-reader> ( desc encoding -- stream )
    (process-reader) drop ; inline

: with-process-reader* ( desc encoding quot -- process status )
    [ (process-reader) ] dip '[ _ with-input-stream ] dip
    dup wait-for-process ; inline

: with-process-reader ( desc encoding quot -- )
    with-process-reader* check-success ; inline

<PRIVATE
