ng, role protocols are designed to use <i>nearly sequential
marshalling</i>.  In a protocol with strictly sequential marshalling,
the application receives its first input, then its second, etc. until
it has received them all.  Similarly, the application sends its first
output, then its second, etc. until it has sent them all.  Inputs are
not interleaved with each other, and outputs are not interleaved with
each other.<p>

The sequential marshalling rule is too restrictive for some
FastCGI roles, because CGI