Issue #17071: Signature.bind() now works when one of the keyword arguments is named ``self``.
diff --git a/Lib/inspect.py b/Lib/inspect.py
index 88f0ee2..7a7bb91 100644
--- a/Lib/inspect.py
+++ b/Lib/inspect.py
@@ -2028,19 +2028,19 @@
 
         return self._bound_arguments_cls(self, arguments)
 
-    def bind(self, *args, **kwargs):
+    def bind(__bind_self, *args, **kwargs):
         '''Get a BoundArguments object, that maps the passed `args`
         and `kwargs` to the function's signature.  Raises `TypeError`
         if the passed arguments can not be bound.
         '''
-        return self._bind(args, kwargs)
+        return __bind_self._bind(args, kwargs)
 
-    def bind_partial(self, *args, **kwargs):
+    def bind_partial(__bind_self, *args, **kwargs):
         '''Get a BoundArguments object, that partially maps the
         passed `args` and `kwargs` to the function's signature.
         Raises `TypeError` if the passed arguments can not be bound.
         '''
-        return self._bind(args, kwargs, partial=True)
+        return __bind_self._bind(args, kwargs, partial=True)
 
     def __str__(self):
         result = []