{type	A
	{attr	m_a {of std::string}}
}

{type	B
	{super {virtual} A}

	{attr	m_b {of std::string}}
}

{type	C
	{super {virtual} A}

	{attr	m_c {of std::string}}
}

{type	D
	{attr	m_d {of std::string}}
}

{type	E
	{super D}
	{super {virtual} B}
	{super {virtual} C}

	{attr	m_e {of std::string}}
}
