Index: src/AST/Node.hpp
===================================================================
--- src/AST/Node.hpp	(revision 69bafd262c8310d9ad78a0b8e5d5ebd7d9b9152c)
+++ src/AST/Node.hpp	(revision 3648d98da574a68632d9d6b4d45ac64e674d5106)
@@ -135,5 +135,5 @@
 	const node_t & operator* () const { return *node; }
 	explicit operator bool() const { return node; }
-	operator const node_t * const() const { return node; }
+	operator const node_t * () const { return node; }
 
 	template<typename o_node_t>
Index: src/AST/Type.hpp
===================================================================
--- src/AST/Type.hpp	(revision 69bafd262c8310d9ad78a0b8e5d5ebd7d9b9152c)
+++ src/AST/Type.hpp	(revision 3648d98da574a68632d9d6b4d45ac64e674d5106)
@@ -23,4 +23,5 @@
 
 #include "CVQualifiers.hpp"
+#include "Decl.hpp"
 #include "Fwd.hpp"
 #include "Node.hpp"          // for Node, ptr
@@ -141,5 +142,5 @@
 
 	/// Check if this type represents an integer type
-	bool isInteger() const { return kind <= MAX_INTEGER_TYPE; }
+	bool isInteger() const { return (unsigned)kind <= (unsigned)MAX_INTEGER_TYPE; }
 
 	const Type * accept( Visitor & v ) const override { return v.visit( this ); }
Index: src/InitTweak/InitTweak.cc
===================================================================
--- src/InitTweak/InitTweak.cc	(revision 69bafd262c8310d9ad78a0b8e5d5ebd7d9b9152c)
+++ src/InitTweak/InitTweak.cc	(revision 3648d98da574a68632d9d6b4d45ac64e674d5106)
@@ -515,11 +515,12 @@
 	}
 	const ast::Type* getPointerBase( const ast::Type* t ) {
-		if ( const ast::PointerType* p = dynamic_cast< const ast::PointerType* >( t ) ) {
-			return p->base;
-		} else if ( const ast::ArrayType* a = dynamic_cast< const ast::ArrayType* >( t ) ) {
-			return a->base;
-		} else if ( const ast::ReferenceType* r = dynamic_cast< const ast::ReferenceType* >( t ) ) {
-			return r->base;
-		} else return nullptr;
+		assert(!"needs to build Type.cpp before inclusion");
+		// if ( const ast::PointerType* p = dynamic_cast< const ast::PointerType* >( t ) ) {
+		// 	return p->base;
+		// } else if ( const ast::ArrayType* a = dynamic_cast< const ast::ArrayType* >( t ) ) {
+		// 	return a->base;
+		// } else if ( const ast::ReferenceType* r = dynamic_cast< const ast::ReferenceType* >( t ) ) {
+		// 	return r->base;
+		// } else return nullptr;
 	}
 
