Make mismatched arity error easier to parse (#7118)

Makes parsing mismatched arity errors easier for large inputs by calling out the discrepancy up front.
diff --git a/bindings/python/iree/runtime/function.py b/bindings/python/iree/runtime/function.py
index f42a4fa..d641cc8 100644
--- a/bindings/python/iree/runtime/function.py
+++ b/bindings/python/iree/runtime/function.py
@@ -496,8 +496,8 @@
     descs = [None] * len(py_list)
   elif len(py_list) != len(descs):
     _raise_argument_error(
-        inv, f"mismatched function call arity: "
-        f"expected={descs}, got={py_list}")
+        inv, f"mismatched call arity: expected {len(descs)} arguments but got "
+        f"{len(py_list)}. Expected signature=\n{descs}\nfor input=\n{py_list}")
   for py_value, desc in zip(py_list, descs):
     inv.current_arg = py_value
     inv.current_desc = desc