inspect.getargspec(method) and inspect.signature(method) both include the 'self' parameter but how are we to figure out from method itself that it is actually bound and that its first parameter is expected to be a bound instance?
>>> class A:inspect.signature(A.x).parameters has two parameters, "self" and "a".
... def x(self, a): print(a)
...
>>> a = A()