diff --git a/alib2str/src/core/stringApi.cpp b/alib2str/src/core/stringApi.cpp
index c931504bdd666dd784f88d5f87894c9a3d11044b..605eb1d3d3dfe91644812e569e7722c30060ef3f 100644
--- a/alib2str/src/core/stringApi.cpp
+++ b/alib2str/src/core/stringApi.cpp
@@ -35,12 +35,12 @@ void stringApi < object::Object >::unregisterStringWriter ( const core::type_det
 	}
 }
 
-void stringApi < object::Object >::registerStringWriter ( const core::type_details & type, std::unique_ptr < GroupWriter > entry ) {
-	bool res = composeFunctions ( ).insert ( std::make_pair ( std::move ( type ), std::move ( entry ) ) ).second;
-	if ( ! res ) {
+void stringApi < object::Object >::registerStringWriter ( core::type_details type, std::unique_ptr < GroupWriter > entry ) {
+	auto res = composeFunctions ( ).insert ( std::make_pair ( std::move ( type ), std::move ( entry ) ) );
+	if ( ! res.second ) {
 		std::string groupName = ext::to_string < object::Object > ( );
 
-		throw::exception::CommonException ( "Parse callback of " + ext::to_string ( type ) + " already registered in group " + groupName + "." );
+		throw::exception::CommonException ( "Parse callback of " + ext::to_string ( res.first->first ) + " already registered in group " + groupName + "." );
 	}
 }
 
diff --git a/alib2str/src/core/stringApi.hpp b/alib2str/src/core/stringApi.hpp
index f19e4e4edd8c226b2320e3af0beb770e34cf61b3..9bca8657402672bc8006ba281a4367e5c3578d49 100644
--- a/alib2str/src/core/stringApi.hpp
+++ b/alib2str/src/core/stringApi.hpp
@@ -81,7 +81,7 @@ public:
 		unregisterStringWriter ( core::type_details::get < Type > ( ) );
 	}
 
-	static void registerStringWriter ( const core::type_details & type, std::unique_ptr < GroupWriter > entry );
+	static void registerStringWriter ( core::type_details type, std::unique_ptr < GroupWriter > entry );
 
 	template < class Type >
 	static void registerStringWriter ( ) {
diff --git a/alib2xml/src/core/xmlApi.cpp b/alib2xml/src/core/xmlApi.cpp
index 8fb14a015c16e2e1f73180cd25f65293efa9f924..8dff28ff0d227a14af1349b1d1cfcbffcd4604f3 100644
--- a/alib2xml/src/core/xmlApi.cpp
+++ b/alib2xml/src/core/xmlApi.cpp
@@ -39,12 +39,12 @@ void xmlApi < object::Object >::unregisterXmlWriter ( const core::type_details &
 	}
 }
 
-void xmlApi < object::Object >::registerXmlWriter ( const core::type_details & type, std::unique_ptr < GroupComposer > entry ) {
-	bool res = composeFunctions ( ).insert ( std::make_pair ( std::move ( type ), std::move ( entry ) ) ).second;
-	if ( ! res ) {
+void xmlApi < object::Object >::registerXmlWriter ( core::type_details type, std::unique_ptr < GroupComposer > entry ) {
+	auto res = composeFunctions ( ).insert ( std::make_pair ( std::move ( type ), std::move ( entry ) ) );
+	if ( ! res.second ) {
 		std::string groupName = ext::to_string < object::Object > ( );
 
-		throw::exception::CommonException ( "Compose callback of " + ext::to_string ( type ) + " already registered in group " + groupName + "." );
+		throw::exception::CommonException ( "Compose callback of " + ext::to_string ( res.first->first ) + " already registered in group " + groupName + "." );
 	}
 }
 
diff --git a/alib2xml/src/core/xmlApi.hpp b/alib2xml/src/core/xmlApi.hpp
index 6aed490437b350b950f48fa8f04cf2dfa71a6d9c..7a9db737304c9d1058dcf407b1952854588b80cf 100644
--- a/alib2xml/src/core/xmlApi.hpp
+++ b/alib2xml/src/core/xmlApi.hpp
@@ -116,7 +116,7 @@ public:
 		unregisterXmlWriter ( core::type_details::get < Type > ( ) );
 	}
 
-	static void registerXmlWriter ( const core::type_details & type, std::unique_ptr < GroupComposer > entry );
+	static void registerXmlWriter ( core::type_details type, std::unique_ptr < GroupComposer > entry );
 
 	template < class Type >
 	static void registerXmlWriter ( ) {