Index: src/AST/Decl.hpp
===================================================================
--- src/AST/Decl.hpp	(revision ed9a1ae9fd2dfee0f1af522273e707b0ae29b439)
+++ src/AST/Decl.hpp	(revision f8965f4f89bb1fdec3be05df05ef73c194a09ea5)
@@ -217,5 +217,5 @@
 
 	/// convenience accessor to match Type::isComplete()
-	bool isComplete() { return sized; }
+	bool isComplete() const { return sized; }
 
 	const Decl * accept( Visitor & v ) const override { return v.visit( this ); }
Index: src/AST/Type.hpp
===================================================================
--- src/AST/Type.hpp	(revision ed9a1ae9fd2dfee0f1af522273e707b0ae29b439)
+++ src/AST/Type.hpp	(revision f8965f4f89bb1fdec3be05df05ef73c194a09ea5)
@@ -83,5 +83,5 @@
 template< enum Node::ref_type ref_t >
 void reset_qualifiers( ptr_base< Type, ref_t > & p, CV::Qualifiers q = {} ) {
-	if ( p->qualifiers.val != q.val ) p.get_and_mutate()->qualifiers = q;
+	if ( p->qualifiers != q ) p.get_and_mutate()->qualifiers = q;
 }
 
@@ -89,5 +89,5 @@
 template< enum Node::ref_type ref_t >
 void add_qualifiers( ptr_base< Type, ref_t > & p, CV::Qualifiers q ) {
-	if ( ( p->qualifiers.val & q.val ) != q.val ) p.get_and_mutate()->qualifiers |= q;
+	if ( ( p->qualifiers & q ) != q ) p.get_and_mutate()->qualifiers |= q;
 }
 
@@ -95,5 +95,5 @@
 template< enum Node::ref_type ref_t >
 void remove_qualifiers( ptr_base< Type, ref_t > & p, CV::Qualifiers q ) {
-	if ( ( p->qualifiers.val & q.val ) != 0 ) p.get_and_mutate()->qualifiers -= q;
+	if ( ( p->qualifiers & q ) != 0 ) p.get_and_mutate()->qualifiers -= q;
 }
 
