I don't do web devel mostly. The few times I did write something, it struck me that the DOM tries to cram things into a tree which are not tree-like (no, sorry, arrays are not trees, if you treat them that way, your code gets really ugly and tedious.) To compensate for this, we end up with all sorts of crazy inheritance systems and an explosion of tags and things that are there but not really there or unenumerable because they instantiated from templates. Hopefully as webasm comes in, things will come to resemble a more conventional programming environment.