diff -r 92b3928bfde1 Lib/inspect.py --- a/Lib/inspect.py Sat Feb 01 21:22:26 2014 +0200 +++ b/Lib/inspect.py Sat Feb 01 20:46:13 2014 +0100 @@ -2187,6 +2187,10 @@ @classmethod def from_builtin(cls, func): + if _signature_is_functionlike(func): + # If we have a complete function signature, prefer analysing that. + return cls.from_function(func) + if not _signature_is_builtin(func): raise TypeError("{!r} is not a Python builtin " "function".format(func))