For instance why does most members in STL implementation have `_M_` or `_` or `__` prefix?
Why there is so much boilerplate code ?

What features C++ is lacking that would allow make vector (for instance) implementation clear and more concise?