Here's a comparison of sine wave / square wave capability from a new(ish) Rigol DG1032Z (top) and the 22 year old hp 8904A (bottom). The 8904A can produce sine waves up to 600 kHz and square waves at a max freq. of 50 kHz, so that's what, respectively, the Rigol is set to.
A comparison of sine (600 kHz) and square waves (50 kHz) is attached (Rigol top, 8904A bottom).
It's not a fair challenge regarding square waves - not only is the rise time of the 8904A much slower, it has some jitter which is an artifact of the design - fully explained in the manual on page 3-39, which states the jitter is 600 nS, this value is clearly visible on trace 2. This jitter would be only be associated with ramp, triangle, and square waves, but not on sine waves, which can be generated up to 600 kHz.
If you get one, check out the Agilent waveform catalog below. It has channel setups to produce all kinds of waveforms. I set up a few of their examples:
No. 23 Intermodulation test Signal
No. 62 TTL Level Noise Pulses
No. 64 Trigger Test Signal
(see pics)
8904A Waveform Catalog