PyType (@NotNull TypeEvalContext context, @NotNull TypeEvalContext.Key key) { for (PyTypeProvider provider : PyTypeProvider.EP_NAME.getExtensionList()) { final PyType type = provider.getCallableType(this, context); if (type != null) { return type; } } return new PyFunctionTypeImpl(this); }