> Second, you need to use `let` here, not `define`. See
>
> https://extending-lilypond.gitlab.io/en/scheme/local-variables.html
BTW, I suggest to cover one more issue with local variables, namely
whether arguments to a function are seen in sub-functions, which are
IMHO a very good addition to `let` and `let*` to write clean and
readable code – often much more readable than anonymous lambda
expressions.
Example:
```
(define (foo bar)
(define (baz)
...
(if bar) ; Is 'bar' visible? If yes, when is 'bar'
... ; expanded? At the time 'foofoo' is defined?
; At the time 'foofoo' is executed?
```
Werner