#define COMPARATOR_RESULT_SAME_ 0
#define COMPARATOR_RESULT_DIFFERENT_ -1
+// Implementation note: g_variant_get() returns void, hence ", true"
+#define typechecked_g_variant_get(var, type, args...) (g_variant_is_of_type(var, G_VARIANT_TYPE(type)) ? (g_variant_get(var, type, args), true) : false)
+
//use when function return err value
#define maybe_g_variant_get_or_ret_diff_(var, c_str_, args...) \
if (!g_variant_is_of_type(var, G_VARIANT_TYPE(c_str_) )) { return COMPARATOR_RESULT_DIFFERENT_ ; } \