Index: src/ResolvExpr/Unify.cc
===================================================================
--- src/ResolvExpr/Unify.cc	(revision 538334a8bcf1d5f551c5fe85bd3e12d8e5f74aa5)
+++ src/ResolvExpr/Unify.cc	(revision 1dcd52a3b1a9c117e77099fbf3c110bd4fc97b85)
@@ -563,4 +563,8 @@
 			flatten( dcl->get_type(), back_inserter( types ) );
 			for ( Type * t : types ) {
+				// outermost const, volatile, _Atomic qualifiers in parameters should not play a role in the unification of function types, since they do not determine whether a function is callable.
+				// Note: MUST consider at least mutex qualifier, since functions can be overloaded on outermost mutex and a mutex function has different requirements than a non-mutex function.
+				t->get_qualifiers() -= Type::Qualifiers(Type::Const | Type::Volatile | Type::Atomic);
+
 				dst.push_back( new ObjectDecl( "", Type::StorageClasses(), LinkageSpec::C, nullptr, t, nullptr ) );
 			}
