@Soblow Good post!
A lot more comprehensive than my own, I went more with just quickly highlighting a few special cases rather than laying out the entire setup 
If you don't mind I'll link to your post alongside the one from lux that was already there.