Am Fr., 19. Feb. 2021 um 08:27 Uhr schrieb Lassi Kortela <xxxxxx@lassi.io>:
>     #! directives are not passed to the Scheme reader in the same way as
>
> So what do you exactly mean by "#! directives"?

Looking at https://registry.scheme.org/#hash-bang-syntax the following
never cause a datum to come out of `(read)`:

#!chezscheme
#!compatible
#!deprecated
#!err5rs
#!fold-case
#!larceny
#!no-fold-case
#!no-overwrite
#!nocache
#!r5rs
#!r6rs
#!r7rs
#!read-macro
#!reader

While it is still unclear what you exactly mean by "#! directive", taking the above list as examples, it is clear the shebang lines are no directives in this sense and can and should be left out of the discussion.
 
The following probably always cause a datum to come out of `(read)` in
the implementations that have them, but the datum is only valid inside a
lambda list:

#!key
#!optional
#!rest

What do you mean by "only valid inside a lambda list"? The reader doesn't know the concept of a lambda list.