Currently we don't specify what display does with circular lists. Should it generate labels like write, or loop like write-simple, or leave it unspecified?
We don't specify anything wrt display for anything
other than string and character inputs. It would be
very out of place to specify anything for circular
structures without also specifying all structures,
which would be very difficult to get implementations
to agree to.
If you compare write, write-simple, and display, you'll see that write defines behavior for strings, symbols, characters, and shared structure. Write-simple says it is the same as write except on shared structure. However, display defines behavior for strings, symbols, and characters only. Adding a definition for shared-list behavior is therefore appropriate. We don't need to define behavior for everything else.
I haven't done a full test, but most Schemes seem to use write-simple behavior.
WG1 decided to adopt write behavior, printing datum labels as required.