Think of HTML as assembly language. When I was writing compilers, my boss told me "A good compiler should generate assembly language that an assembly language programmer would be fired for writing".

And so it is with HTML.