Default template arguments are described as appearing both in
<iosfwd>
and in the synopsis of other headers
but it is well-formed to include both
<iosfwd>
and one or more of the other headers.287
It is the implementation's
responsibility to implement headers so
that including <iosfwd>
and other headers does not violate the rules about
multiple occurrences of default arguments.