Why aren't python nested functions called closures?
So, I'm on vacation in Utah, and so I attended an LDS service. In the morning, I heard a reading from one of the Presidents of the church during the "Quorum of the Elders," then went to Sunday School, and finally witnessed the Sacrement of the bread and water. (I guess it makes sense there was no wine, but it did make me go "Huh!") After that, there were testimonies from missionaries and some music - but nothing that struck me as a sermon. 
Was I missing something, or was this an atypical service? I guess I was trying to understand what the "pastor"s role in the service was supposed to be - or again, is it just that Mormons are even more Baptist than baptists?
If someone could explain how instruction and exhortation are primarily conferred in the LDS church Id appreciate it. 

Andor: I really would like to's take on this, but he's currently dealing w/some health crisis, so I hope he's ok!

If the LDS services you attended were quite similar to those of an ordinary Baptist Church, then this may simply mean that the nature and role of preaching in LDS worship isally similar to that in Baptist Worship. In neither tradition does the sermon constitute the entirety of the worship service, nor is it even the primary form of liturgical address (though arguably there is some difference here
In Python specifically, how do variables get shared between threads?
Although I have used ```threading.Thread``` before I never really understood or saw examples of how variables got shared.  Are they shared between the main thread and the children or only among the children? When would I need to use thread local storage to avoid this sharing?
I have seen many warnings about synchronizing access to shared data among threads by using locks but I have yet to see a really good example of the problem. 
Thanks in advance!
To answer your question, by default, all variables declared in a Python script are shared between threads. This means that when you create multiple threads, they all have access to the same global and non-local variables.
This can lead to race conditions and other concurrency-related issues if multiple threads try to modify the same variable at the same time.
To avoid this, you can use one of the following methods:
1. Use thread local storage: Thread Local Storage (TLS) is a way to associate different data with each thread. This can help you avoid shared variables and their associated synchronization issues. You can use