diff --git a/CompatibilityMatrix.cpp b/CompatibilityMatrix.cpp
index 290ebf9..5bb6d1e 100644
--- a/CompatibilityMatrix.cpp
+++ b/CompatibilityMatrix.cpp
@@ -28,6 +28,8 @@
 namespace android {
 namespace vintf {
 
+using details::mergeField;
+
 bool CompatibilityMatrix::addKernel(MatrixKernel&& kernel, std::string* error) {
     if (mType != SchemaType::FRAMEWORK) {
         if (error) {
@@ -294,22 +296,6 @@
     return true;
 }
 
-template <typename T>
-static bool mergeField(T* dst, T* src) {
-    static const T kEmpty{};
-    if (*dst == *src) {
-        return true;  // no conflict
-    }
-    if (*src == kEmpty) {
-        return true;
-    }
-    if (*dst == kEmpty) {
-        *dst = std::move(*src);
-        return true;
-    }
-    return false;
-}
-
 bool CompatibilityMatrix::addSepolicy(CompatibilityMatrix* other, std::string* error) {
     bool success = mergeField(&this->framework.mSepolicy, &other->framework.mSepolicy);
     if (!success && error) *error = "<sepolicy> is already defined";
