Make set report the expected type in case of error

Change-Id: Id46251b4859739e3c8f77d3bf2513ec22b048cf1
diff --git a/src/utils.cpp b/src/utils.cpp
index a7fea46..b4f60ab 100644
--- a/src/utils.cpp
+++ b/src/utils.cpp
@@ -30,3 +30,23 @@
 {
     return path_{decltype(path_::m_nodes)(path.m_nodes.begin(), path.m_nodes.end() - 1)};
 }
+
+std::string leafDataTypeToString(yang::LeafDataTypes type)
+{
+    switch (type) {
+    case yang::LeafDataTypes::String:
+        return "a string";
+    case yang::LeafDataTypes::Decimal:
+        return "a decimal";
+    case yang::LeafDataTypes::Bool:
+        return "a boolean";
+    case yang::LeafDataTypes::Int:
+        return "an integer";
+    case yang::LeafDataTypes::Uint:
+        return "an unsigned integer";
+    case yang::LeafDataTypes::Enum:
+        return "an enum";
+    default:
+        return "";
+    }
+}