check all argument types and combinations
+append