{type	base_t
	{abstract}
	{extensible}
	{subclassing_by_extension}
}

{type	base_shptr_t
	{attr	m_ptr {of {extension_of} base_t}}
}

{type	holder_t
	{extensible}

	{attr	m_value {of base_shptr_t}}
}

{type	string_value_t
	{extensible}
	{subclassing_by_extension {extension_of base_t}}

	{attr	m_value {of std::string}}
}

{type	incapsulated_value_t
	{extensible}
	{subclassing_by_extension {extension_of base_t}}

	{attr	m_original {of base_shptr_t}}
	{attr	m_self {of std::string}}
}

