Ideally we'd just do this when we need it, but the ostream derivation
will be controlled by both global config and per-structure config, so
it's hard to know exactly when we need it and when we don't.
We don't support unnamed arguments, and we give a terrible error
("Parameter has an unsupported type.") when you use them.
They're very simple to implement so we should just do it.