String () { final TypeEvalContext context = TypeEvalContext.codeInsightFallback(null); return String.format("(%s) -> %s", myParameters != null ? StringUtil.join(myParameters, param -> { if (param != null) { final StringBuilder builder = new StringBuilder(); final String name = param.getName(); final PyType type = param.getType(context); if (name != null) { builder.append(name); if (type != null) { builder.append(": "); } } builder.append(type != null ? type.getName() : PyNames.UNKNOWN_TYPE); return builder.toString(); } return PyNames.UNKNOWN_TYPE; }, ", ") : "...", myReturnType != null ? myReturnType.getName() : PyNames.UNKNOWN_TYPE); }