top::StringData Node1 top::StringData + m_set Node2 std::string Node2->Node1 +m_human_explanation +m_data +m_default_val Node4 std::vector< std::string > Node2->Node4 +elements Node3 std::basic_string< char > Node3->Node2 Node4->Node1 +m_allowed_values