Why are types escaping namespace when included after vector header? If I compile this minimized example with clang++: