Index: src/Parser/DeclarationNode.cc
===================================================================
--- src/Parser/DeclarationNode.cc	(revision 67a67af759e4d8ac479e64f6e4389a349145bae8)
+++ src/Parser/DeclarationNode.cc	(revision f196351459b11bf18eaef663d78e23d30f044ddd)
@@ -10,6 +10,6 @@
 // Created On       : Sat May 16 12:34:05 2015
 // Last Modified By : Andrew Beach
-// Last Modified On : Fri Jul 14 16:55:00 2017
-// Update Count     : 1020
+// Last Modified On : Thr Aug 10 17:02:00 2017
+// Update Count     : 1021
 //
 
@@ -275,18 +275,4 @@
 	return newnode;
 } // DeclarationNode::newEnumConstant
-
-DeclarationNode * DeclarationNode::newTreeStruct( Aggregate kind, const string * name, const string * parent, ExpressionNode * actuals, DeclarationNode * fields, bool body ) {
-	assert( name );
-	DeclarationNode * newnode = new DeclarationNode;
-	newnode->type = new TypeData( TypeData::Aggregate );
-	newnode->type->aggregate.kind = kind;
-	newnode->type->aggregate.name = name;
-	newnode->type->aggregate.actuals = actuals;
-	newnode->type->aggregate.fields = fields;
-	newnode->type->aggregate.body = body;
-	newnode->type->aggregate.tagged = true;
-	newnode->type->aggregate.parent = parent;
-	return newnode;
-} // DeclarationNode::newTreeStruct
 
 DeclarationNode * DeclarationNode::newName( string * name ) {
Index: src/Parser/ParseNode.h
===================================================================
--- src/Parser/ParseNode.h	(revision 67a67af759e4d8ac479e64f6e4389a349145bae8)
+++ src/Parser/ParseNode.h	(revision f196351459b11bf18eaef663d78e23d30f044ddd)
@@ -9,7 +9,7 @@
 // Author           : Rodolfo G. Esteves
 // Created On       : Sat May 16 13:28:16 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Thu Jul 27 12:08:08 2017
-// Update Count     : 788
+// Last Modified By : Andrew Beach
+// Last Modified On : Thu Aug 10 16:54:00 2017
+// Update Count     : 789
 //
 
@@ -248,7 +248,4 @@
 	static DeclarationNode * newAsmStmt( StatementNode * stmt ); // gcc external asm statement
 
-	// Perhaps this would best fold into newAggragate.
-	static DeclarationNode * newTreeStruct( Aggregate kind, const std::string * name, const std::string * parent, ExpressionNode * actuals, DeclarationNode * fields, bool body );
-
 	DeclarationNode();
 	~DeclarationNode();
@@ -335,7 +332,4 @@
 
 	static UniqueName anonymous;
-
-	// Temp to test TreeStruct
-	const std::string * parent_name;
 }; // DeclarationNode
 
Index: src/Parser/TypeData.cc
===================================================================
--- src/Parser/TypeData.cc	(revision 67a67af759e4d8ac479e64f6e4389a349145bae8)
+++ src/Parser/TypeData.cc	(revision f196351459b11bf18eaef663d78e23d30f044ddd)
@@ -10,5 +10,5 @@
 // Created On       : Sat May 16 15:12:51 2015
 // Last Modified By : Andrew Beach
-// Last Modified On : Wed Aug  9 13:50:00 2017
+// Last Modified On : Fri Aug 11 10:50:00 2017
 // Update Count     : 567
 //
@@ -63,6 +63,4 @@
 		aggregate.fields = nullptr;
 		aggregate.body = false;
-		aggregate.tagged = false;
-		aggregate.parent = nullptr;
 		break;
 	  case AggregateInst:
@@ -123,5 +121,4 @@
 		delete aggregate.actuals;
 		delete aggregate.fields;
-		delete aggregate.parent;
 		// delete aggregate;
 		break;
@@ -624,9 +621,4 @@
 	switch ( td->aggregate.kind ) {
 	  case DeclarationNode::Struct:
-		if ( td->aggregate.tagged ) {
-			at = new StructDecl( *td->aggregate.name, td->aggregate.parent, attributes, linkage );
-			buildForall( td->aggregate.params, at->get_parameters() );
-			break;
-		}
 	  case DeclarationNode::Coroutine:
 	  case DeclarationNode::Monitor:
Index: src/SynTree/Declaration.h
===================================================================
--- src/SynTree/Declaration.h	(revision 67a67af759e4d8ac479e64f6e4389a349145bae8)
+++ src/SynTree/Declaration.h	(revision f196351459b11bf18eaef663d78e23d30f044ddd)
@@ -10,6 +10,6 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Andrew Beach
-// Last Modified On : Wed Aug  9 14:45:00 2017
-// Update Count     : 126
+// Last Modified On : Fri Aug 11 10:20:00 2017
+// Update Count     : 127
 //
 
@@ -269,7 +269,6 @@
 	typedef AggregateDecl Parent;
   public:
-	StructDecl( const std::string &name, DeclarationNode::Aggregate kind = DeclarationNode::Struct, const std::list< Attribute * > & attributes = std::list< class Attribute * >(), LinkageSpec::Spec linkage = LinkageSpec::Cforall ) : Parent( name, attributes, linkage ), kind( kind ), tagged( false ), parent_name( "" ) {}
-	StructDecl( const std::string &name, const std::string *parent, const std::list< Attribute * > & attributes = std::list< class Attribute * >(), LinkageSpec::Spec linkage = LinkageSpec::Cforall ) : Parent( name, attributes, linkage ), kind( DeclarationNode::Struct ), tagged( true ), parent_name( parent ? *parent : "" ) {}
-	StructDecl( const StructDecl &other ) : Parent( other ) {}
+	StructDecl( const std::string &name, DeclarationNode::Aggregate kind = DeclarationNode::Struct, const std::list< Attribute * > & attributes = std::list< class Attribute * >(), LinkageSpec::Spec linkage = LinkageSpec::Cforall ) : Parent( name, attributes, linkage ), kind( kind ) {}
+	StructDecl( const StructDecl &other ) : Parent( other ), kind( other.kind ) {}
 
 	bool is_coroutine() { return kind == DeclarationNode::Coroutine; }
@@ -277,10 +276,4 @@
 	bool is_thread() { return kind == DeclarationNode::Thread; }
 
-	// Tagged/Tree Structure Excetion
-	bool get_tagged() { return tagged; }
-	void set_tagged( bool newValue ) { tagged = newValue; }
-	bool has_parent() { return parent_name != ""; }
-	std::string get_parentName() { return parent_name; }
-
 	virtual StructDecl *clone() const { return new StructDecl( *this ); }
 	virtual void accept( Visitor &v ) { v.visit( this ); }
@@ -289,7 +282,4 @@
 	DeclarationNode::Aggregate kind;
 	virtual std::string typeString() const;
-
-	bool tagged;
-	std::string parent_name;
 };
 
