D3.js - pdf with deep dive into selections

I have created a pdf document presenting a deep dive into d3.js selections - the basics of select, selectAll, exit,update,enter, remove, etc. While I can create many visualizations with d3js already, nonetheless I have found it frustrating to find a thorough explanation of selections concepts on the web.

In other words, I can do many things, but I don’t understand the why in detail, and I personally find this inadequate and frustrating. So this is my learning document, and I have tried to make it clear and comprehensible. The document gives snippets of d3.js “system” code (sometimes a little code is worth a thousand words), and charts the evolution of the Selection data structure.The document is

and is titled: d3js-v4-selections-part-1.pdf.

Please let me know your reactions.