I did not know C had static variables at the function level (thank you for pointing this out), but static variables are not the same thing as what I&#x27;m thinking of when I say &quot;explicit scoping&quot;. It would basically be like writing curly braces for variable declarations the same way one does with function definitions. Because lisp has this it&#x27;s trivial to extend the scope of the variable to cover multiple functions:<p><pre><code>    (let ((x))
      (defun func1 ())
      (defun func2 ()))

</code></pre>
This is what I mean when I say explicit scoping. And it means that the reader&#x2F;debugger&#x2F;maintainer knows that this variable only exists for these functions. A static variable&#x27;s scope is implied by the scope of whatever it&#x27;s defined in (not sure if that&#x27;s limited to functions in C), in this case X exists outside of C and has it&#x27;s own scope, not just it&#x27;s own extent.