It&#x27;s probably because, in an implementation of a staticly typed language, you have to treat all functions being passed around as closures.  E.g. the type of a lambda expression needs to be one thing, and that is a closure.
Whether or not any variables are actually closed over is irrelevant.