@@ 16,10 16,12 @@ This transforms all defines in expressio
guile-3 famously has definitions in some expression contexts. This expands on that (definitions in cond clauses and so on), and should also work just fine in guile 2.2 - albeit at a performance cost because internal definitions and letrec is slower in guile2.
## Supported forms
-The bodies of begin, lambda, define, let, let\*, letrec, letrec\*, when, unless, case, and cond are transversed and transformed.
+The bodies of lambda, define, let, let\*, letrec, letrec\*, when, unless, case, and cond are transversed and transformed.
+begin is NOT supported. This is due to begin being spliced if in the top-level.
This is a module-local transformation, thus macros imported from other modules don't allow this transformation. Say, for example (ie-9 match), srfi-11, (ice-9 receive). For guile-3 many of these will work anyway, but will fail in guile-2.2.