// letting S be a defaulted template parameter forces the compiler to
// delay looking up operator<<(marshall&, rpc_sz_t) until we define it
// (i.e. we define an operator for marshalling uint32_t)
// letting S be a defaulted template parameter forces the compiler to
// delay looking up operator<<(marshall&, rpc_sz_t) until we define it
// (i.e. we define an operator for marshalling uint32_t)