Right, these are good explanations. But the fact that I need to ask, and that you need to explain in such long words means one thing: this explanation *must* be in the source code. Rule #1: document anything that made you think more than 30 seconds while working!

In case the aim of my comments in this pull request are not clear: I'm not looking for you to explain things to me here, in GitHub comments. I need you to clarify anything that brings up a question in the code, via comments, or clearer code.