Index: src/SynTree/Type.h
===================================================================
--- src/SynTree/Type.h	(revision 89d129c5238add7d101f309f141ddc8e8df3f8a5)
+++ src/SynTree/Type.h	(revision cb0e6de65962fd19c1eae698acaec94f1a41b56c)
@@ -117,6 +117,8 @@
 		bool operator!=( Qualifiers other ) const { return (val & Mask) != (other.val & Mask); }
 		bool operator<=( Qualifiers other ) const {
-			return is_const <= other.is_const && is_volatile <= other.is_volatile &&
-				is_mutex >= other.is_mutex && is_atomic == other.is_atomic;
+			return is_const    <= other.is_const        //Any non-const converts to const without cost
+					&& is_volatile <= other.is_volatile     //Any non-volatile converts to volatile without cost
+					&& is_mutex    >= other.is_mutex        //Any mutex converts to non-mutex without cost
+					&& is_atomic   == other.is_atomic;      //No conversion from atomic to non atomic is free
 		}
 		bool operator<( Qualifiers other ) const { return *this != other && *this <= other; }
