[plt-scheme] require-for-syntax and syntax/parse
>
> With very few exceptions, "library" modules like syntax/parse export
> all of their bindings at phase 0 (the normal environment). So add
> 'for-syntax' to make them available to macros.
>
> Modules that provide things for-syntax are the exception rather than
> the rule, except for languages modules like 'scheme', which provide
> everything at phase 0 (normal) and phase 1 (for-syntax). I would
> expect individual bindings provided for-syntax to be marked as such in
> the documentation.
>
A sort of nutty idea but maybe when a binding can't be found in the
current phase, the other phases could be checked for it. If found a
message could be printed like "<binding> found in phase X from module
Y". Maybe errortrace or something like it could do this. I don't know if
this is even possible but it would be helpful occasionally.