You have to deal with every idiosyncrasy as soon as you begin using external dependencies (and even many standard browser features), because there is no standard convention at any one time, much less over time. There is no fixed paradigm, no common way of doing things, and so the student must first understand how each library frames the world differently, and then work out how to composite those worlds into anything approaching coherence.