patch 8.2.0251: a couple of function return types can be more specific

Problem:    A couple of function return types can be more specific.
Solution:   Use a better return type. (Ken Takata, closes #5629)
diff --git a/src/evalfunc.c b/src/evalfunc.c
index 58f1218..6e96d0d 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -569,7 +569,7 @@
     {"matcharg",	1, 1, FEARG_1,	  &t_list_string, f_matcharg},
     {"matchdelete",	1, 2, FEARG_1,	  &t_number,	f_matchdelete},
     {"matchend",	2, 4, FEARG_1,	  &t_number,	f_matchend},
-    {"matchlist",	2, 4, FEARG_1,	  &t_list_any,	f_matchlist},
+    {"matchlist",	2, 4, FEARG_1,	  &t_list_string, f_matchlist},
     {"matchstr",	2, 4, FEARG_1,	  &t_string,	f_matchstr},
     {"matchstrpos",	2, 4, FEARG_1,	  &t_list_any,	f_matchstrpos},
     {"max",		1, 1, FEARG_1,	  &t_any,	f_max},
@@ -622,7 +622,7 @@
     {"prop_add",	3, 3, FEARG_1,	  &t_void,	f_prop_add},
     {"prop_clear",	1, 3, FEARG_1,	  &t_void,	f_prop_clear},
     {"prop_find",	1, 2, FEARG_1,	  &t_dict_any,	f_prop_find},
-    {"prop_list",	1, 2, FEARG_1,	  &t_list_any,	f_prop_list},
+    {"prop_list",	1, 2, FEARG_1,	  &t_list_dict_any, f_prop_list},
     {"prop_remove",	1, 3, FEARG_1,	  &t_number,	f_prop_remove},
     {"prop_type_add",	2, 2, FEARG_1,	  &t_void,	f_prop_type_add},
     {"prop_type_change", 2, 2, FEARG_1,	  &t_void,	f_prop_type_change},