The change in the semantics would then be:
To visit a library at phase N:
* Visit at phase N any library that is imported by this library
for ... (phase 0), and that is not yet visited at phase N.
[MODIFIED]
* For each k >= 1, invoke at phase N+k any library that is imported
by this library for .... (phase k), and that is not yet invoked at
phase N+k.
[ADDED]
* For each k >= 1, visit at phase N+1 any library that is imported by
this library for .... (phase k), and that is not yet visited at phase
N+k.
* Evaluate all syntax definitions within the library.
(Top-level expressions are not evaluated, and the right-hand sides
of variable definitions are not evaluated.)

Sorry, there was a misprint. This should be
To visit a library at phase N:
* Visit at phase N any library that is imported by this library
for ... (phase 0), and that is not yet visited at phase N.
[MODIFIED]
* For each k >= 1, invoke at phase N+k any library that is imported
by this library for .... (phase k), and that is not yet invoked at
phase N+k.
[ADDED] [CORRECTED MISPRINT]
* For each k >= 1, visit at phase N+k any library that is imported by
this library for .... (phase k), and that is not yet visited at phase
N+k.
* Evaluate all syntax definitions within the library.
(Top-level expressions are not evaluated, and the right-hand sides
of variable definitions are not evaluated.)