blic static void describeTypeWithLinks(@Nullable PyType type,
                                           @Nullable PyTypedElement typeOwner,
                                           @NotNull TypeEvalContext context,
                                           @NotNull PsiElement anchor,
                                           @NotNull HtmlBuilder body) {
    // Variable annotated with "typing.TypeAlias" marker is deliberately treated as having "Any" type
    if (typeOwner instanceof PyTargetExpression && type == null) {
      PyAssignmentStatement assignment = as(typeOwner.getParent(), PyAssignmentStatement.class);
      if (assignment != null && PyTypingTypeProvider.isExplicitTypeAlias(assignment, context)) {
        body.append(styledSpan("TypeAlias", PyHighlighter.PY_ANNOTATION));
        return;
      }
    }
    buildTypeModel(type, context).toBodyWithLinks(body, anchor);
  }


blic static void describeTypeWithLinks(@Nullable PyType type,
                                           @Nullable PyTypedElement typeOwner,
                                           @NotNull TypeEvalContext context,
                                           @NotNull PsiElement anchor,
                                           @NotNull HtmlBuilder body) {