Index: src/SynTree/Mutator.h
===================================================================
--- src/SynTree/Mutator.h	(revision 294647bb36b8887ef83cb50ce4390321fab6d613)
+++ src/SynTree/Mutator.h	(revision f51ef6f2a83bb47a27c0f328456fa9e017b3e998)
@@ -139,4 +139,5 @@
 			} // if
 		} catch( SemanticError &e ) {
+			e.set_location( (*i)->location );
 			errors.append( e );
 		} // try
Index: src/SynTree/Type.h
===================================================================
--- src/SynTree/Type.h	(revision 294647bb36b8887ef83cb50ce4390321fab6d613)
+++ src/SynTree/Type.h	(revision f51ef6f2a83bb47a27c0f328456fa9e017b3e998)
@@ -17,10 +17,11 @@
 #define TYPE_H
 
+#include "BaseSyntaxNode.h"
+#include "Mutator.h"
 #include "SynTree.h"
 #include "Visitor.h"
-#include "Mutator.h"
 #include "Common/utility.h"
 
-class Type {
+class Type : public BaseSyntaxNode {
   public:
 	struct Qualifiers {
Index: src/SynTree/Visitor.h
===================================================================
--- src/SynTree/Visitor.h	(revision 294647bb36b8887ef83cb50ce4390321fab6d613)
+++ src/SynTree/Visitor.h	(revision f51ef6f2a83bb47a27c0f328456fa9e017b3e998)
@@ -133,4 +133,5 @@
 			}
 		} catch( SemanticError &e ) {
+			e.set_location( (*i)->location );
 			errors.append( e );
 		}
@@ -159,4 +160,5 @@
 			} // if
 		} catch( SemanticError &e ) {
+			e.set_location( (*i)->location );			
 			errors.append( e );
 		} // try
