From 07c949eaf9f306783ded377a60f15d8f3507436b Mon Sep 17 00:00:00 2001
From: Ron Buckton <ron.buckton@microsoft.com>
Date: Tue, 5 Apr 2022 15:37:28 -0700
Subject: [PATCH] Write more useful types in .types test outputs

---
 src/harness/typeWriter.ts                     | 58 +++++++++++--------
 .../DeclarationErrorsNoEmitOnError.types      |  2 +-
 .../abstractClassUnionInstantiation.types     |  6 +-
 .../reference/accessorBodyInTypeContext.types |  4 +-
 ...nctionWithRestBehavedSameAsUnaliased.types | 16 ++---
 .../reference/anyMappedTypesError.types       |  2 +-
 .../reference/argumentsAsPropertyName.types   |  2 +-
 .../arrayDestructuringInSwitch1.types         |  4 +-
 .../arrayDestructuringInSwitch2.types         |  2 +-
 ...tionFunctionsCanNarrowByDiscriminant.types |  2 +-
 ...signmentCompatWithDiscriminatedUnion.types | 42 +++++++-------
 ...syncFunctionContextuallyTypedReturns.types |  2 +-
 tests/baselines/reference/awaitedType.types   |  2 +-
 .../reference/awaitedTypeStrictNull.types     |  2 +-
 .../reference/booleanLiteralTypes1.types      |  6 +-
 .../reference/booleanLiteralTypes2.types      |  6 +-
 ...anLiteralsContextuallyTypedFromUnion.types |  4 +-
 .../baselines/reference/callWithSpread4.types |  6 +-
 ...SystemWithCapsImportTypeDeclarations.types |  4 +-
 .../circularAccessorAnnotations.types         |  6 +-
 .../circularIndexedAccessErrors.types         |  2 +-
 .../circularTypeAliasForUnionWithClass.types  |  6 +-
 ...rcularTypeAliasForUnionWithInterface.types | 10 ++--
 ...rlyReferentialInterfaceAccessNoCrash.types |  6 +-
 .../classDoesNotDependOnBaseTypes.types       |  2 +-
 .../classPropertyErrorOnNameOnly.types        |  4 +-
 .../coAndContraVariantInferences.types        |  4 +-
 ...comparisonOperatorWithNumericLiteral.types |  2 +-
 ...essKeyofReliesOnKeyofNeverUpperBound.types |  2 +-
 .../reference/computedPropertyName.types      |  2 +-
 ...mputedTypesKeyofNoIndexSignatureType.types |  4 +-
 ...onRegularTypeFetchingSpeedReasonable.types |  2 +-
 ...lTypeRelaxingConstraintAssignability.types |  2 +-
 .../reference/conditionalTypes1.types         | 44 +++++++-------
 .../reference/conditionalTypes2.types         | 16 ++---
 .../baselines/reference/constAssertions.types |  4 +-
 ...appedTypeWithConditionalIsResolvable.types |  4 +-
 ...tFromUnionWithPrimitiveNoImplicitAny.types |  4 +-
 ...ntextualTypeOfIndexedAccessParameter.types |  4 +-
 .../contextualTypeShouldBeLiteral.types       |  2 +-
 ...TypingArrayDestructuringWithDefaults.types |  2 +-
 .../contextualTypingOfTooShortOverloads.types |  4 +-
 ...ontextuallyTypedByDiscriminableUnion.types |  2 +-
 ...ntextuallyTypedSymbolNamedProperties.types |  2 +-
 .../reference/controlFlowAliasing.types       |  2 +-
 .../controlFlowAssignmentExpression.types     |  2 +-
 .../controlFlowBinaryOrExpression.types       |  2 +-
 .../controlFlowDestructuringLoop.types        |  2 +-
 .../controlFlowForCatchAndFinally.types       |  4 +-
 .../controlFlowForInStatement2.types          |  4 +-
 .../reference/controlFlowGenericTypes.types   | 16 ++---
 .../reference/controlFlowInOperator.types     |  4 +-
 .../reference/controlFlowOptionalChain.types  |  6 +-
 .../reference/controlFlowOptionalChain2.types | 10 ++--
 .../reference/controlFlowStringIndex.types    |  2 +-
 .../reference/correlatedUnions.types          | 30 +++++-----
 ...crashInGetTextOfComputedPropertyName.types |  2 +-
 .../declFileTypeAnnotationTypeAlias.types     |  6 +-
 ...peAnnotationVisibilityErrorTypeAlias.types |  4 +-
 ...declarationEmitAliasFromIndirectFile.types |  6 +-
 ...EmitDestructuringParameterProperties.types |  4 +-
 ...ionEmitExportAliasVisibiilityMarking.types |  4 +-
 ...ssionWithNonlocalPrivateUniqueSymbol.types |  2 +-
 .../declarationEmitInferredTypeAlias5.types   |  2 +-
 .../declarationEmitInferredTypeAlias7.types   |  2 +-
 .../declarationEmitPathMappingMonorepo.types  |  2 +-
 ...rationEmitQualifiedAliasTypeArgument.types |  4 +-
 ...rationEmitReexportedSymlinkReference.types |  6 +-
 ...ationEmitReexportedSymlinkReference2.types |  6 +-
 ...ationEmitReexportedSymlinkReference3.types |  6 +-
 .../declarationEmitSymlinkPaths.types         |  4 +-
 ...rationsForFileShadowingGlobalNoError.types |  4 +-
 ...rationsForIndirectTypeAliasReference.types |  2 +-
 .../reference/deeplyNestedConstraints.types   |  2 +-
 ...terAddsUndefinedWithStrictNullChecks.types |  2 +-
 ...dTypeReferenceWithinArrayWithinTuple.types |  2 +-
 ...pressionMustBeOptional(strict=false).types |  2 +-
 ...xpressionMustBeOptional(strict=true).types |  2 +-
 ...es(exactoptionalpropertytypes=false).types |  2 +-
 ...pes(exactoptionalpropertytypes=true).types |  2 +-
 .../dependentDestructuredVariables.types      | 22 +++----
 .../reference/destructuringControlFlow.types  |  2 +-
 .../destructuringInFunctionType.types         | 18 +++---
 ...estructuringParameterDeclaration3ES5.types |  6 +-
 ...ringParameterDeclaration3ES5iterable.types |  6 +-
 ...estructuringParameterDeclaration3ES6.types |  6 +-
 .../destructuringParameterDeclaration4.types  |  6 +-
 .../destructuringParameterProperties1.types   |  4 +-
 .../destructuringParameterProperties5.types   |  4 +-
 .../destructuringTypeGuardFlow.types          |  4 +-
 .../reference/didYouMeanStringLiteral.types   |  2 +-
 .../directDependenceBetweenTypeAliases.types  | 20 +++----
 ...riminableUnionWithIntersectedMembers.types |  4 +-
 .../discriminantElementAccessCheck.types      |  2 +-
 .../reference/discriminantPropertyCheck.types | 28 ++++-----
 .../discriminantPropertyInference.types       |  6 +-
 .../discriminantsAndNullOrUndefined.types     |  2 +-
 .../discriminantsAndPrimitives.types          |  2 +-
 .../discriminateObjectTypesOnly.types         |  6 +-
 .../discriminatedUnionErrorMessage.types      |  8 +--
 .../discriminatedUnionJsxElement.types        |  2 +-
 .../reference/discriminatedUnionTypes1.types  |  4 +-
 .../reference/discriminatedUnionTypes2.types  | 12 ++--
 .../reference/discriminatedUnionTypes3.types  |  6 +-
 .../reference/divergentAccessorsTypes1.types  |  2 +-
 .../reference/doNotInferUnrelatedTypes.types  |  2 +-
 ...leMixinConditionalTypeBaseClassWorks.types |  2 +-
 tests/baselines/reference/dynamicNames.types  |  8 +--
 .../reference/dynamicNamesErrors.types        |  2 +-
 .../reference/enumLiteralTypes1.types         |  8 +--
 .../reference/enumLiteralTypes2.types         |  8 +--
 .../reference/enumLiteralTypes3.types         |  6 +-
 .../enumLiteralUnionNotWidened.types          |  4 +-
 .../errorForUsingPropertyOfTypeAsType01.types |  6 +-
 ...geOnIntersectionsWithDiscriminants01.types |  6 +-
 ...errorsOnUnionsOfOverlappingObjects01.types |  2 +-
 ...ntEmitterPatternWithRecordOfFunction.types |  2 +-
 ...opertyCheckWithMultipleDiscriminants.types |  4 +-
 .../excessPropertyCheckWithUnions.types       | 22 +++----
 ...ropertyChecksWithNestedIntersections.types |  4 +-
 .../excessPropertyErrorForFunctionTypes.types |  4 +-
 .../excessiveStackDepthFlatArray.types        |  6 +-
 .../excessivelyLargeTupleSpread.types         |  2 +-
 .../exhaustiveSwitchStatements1.types         | 10 ++--
 ...tion_moduleSpecifier-isolatedModules.types |  2 +-
 .../reference/exportDefaultTypeAndClass.types |  2 +-
 ...xportDefaultTypeAndFunctionOverloads.types |  2 +-
 .../exportDefaultTypeClassAndValue.types      |  2 +-
 ...amespaceDeclarationRetainsVisibility.types |  2 +-
 .../flowControlTypeGuardThenSwitch.types      |  2 +-
 tests/baselines/reference/for-of58.types      |  4 +-
 .../reference/forOfStringConstituents.types   |  4 +-
 .../forwardRefInTypeDeclaration.types         |  2 +-
 ...unctionCallOnConstrainedTypeVariable.types |  4 +-
 .../reference/genericContextualTypes1.types   |  2 +-
 .../reference/genericDefaultsErrors.types     |  4 +-
 .../reference/genericFunctionInference1.types |  2 +-
 .../reference/genericFunctionInference2.types |  4 +-
 .../reference/genericObjectRest.types         |  2 +-
 .../genericObjectSpreadResultInSwitch.types   |  2 +-
 .../reference/genericRestParameters1.types    |  2 +-
 .../reference/genericRestParameters3.types    |  4 +-
 .../reference/genericRestTypes.types          |  6 +-
 .../getParameterNameAtPosition.types          |  2 +-
 ...larationOutputGetsTruncatedWithError.types |  2 +-
 .../identicalTypesNoDifferByCheckOrder.types  |  4 +-
 .../implementsIncorrectlyNoAssertion.types    |  2 +-
 .../reference/implicitIndexSignatures.types   |  2 +-
 .../reference/importClause_namedImports.types |  2 +-
 .../reference/importEqualsError45874.types    |  2 +-
 .../importPropertyFromMappedType.types        |  2 +-
 ...rtShouldNotBeElidedInDeclarationEmit.types |  2 +-
 ...ortTypeGenericArrowTypeParenthesized.types |  2 +-
 .../importsNotUsedAsValues_error.types        |  2 +-
 .../reference/inKeywordTypeguard.types        |  2 +-
 .../indexSignatureAndMappedType.types         |  2 +-
 .../indexSignatureWithTrailingComma.types     |  2 +-
 .../reference/indexSignatures1.types          | 26 ++++-----
 ...fNestedSimplifiedSubstituteUnwrapped.types |  2 +-
 .../indexedAccessRetainsIndexSignature.types  |  2 +-
 .../reference/indexerConstraints2.types       |  8 +--
 .../reference/indexingTypesWithNever.types    | 40 ++++++-------
 .../indirectTypeParameterReferences.types     |  2 +-
 ...inferFromGenericFunctionReturnTypes3.types | 12 ++--
 .../reference/inferTInParentheses.types       |  2 +-
 tests/baselines/reference/inferTypes1.types   |  2 +-
 ...ceUnionOfObjectsMappedContextualType.types |  2 +-
 .../inferrenceInfiniteLoopWithSubtyping.types |  2 +-
 .../instantiateContextualTypes.types          |  6 +-
 .../reference/instantiationExpressions.types  |  4 +-
 .../interfaceDoesNotDependOnBaseTypes.types   |  2 +-
 .../interfaceExtendsObjectIntersection.types  | 14 ++---
 ...rfaceExtendsObjectIntersectionErrors.types | 12 ++--
 .../intersectionAsWeakTypeSource.types        |  2 +-
 ...sectionMemberOfUnionNarrowsCorrectly.types |  2 +-
 .../intersectionOfUnionNarrowing.types        |  2 +-
 .../reference/intersectionReduction.types     | 20 +++----
 .../intersectionReductionStrict.types         | 16 ++---
 .../reference/intersectionThisTypes.types     |  4 +-
 .../intersectionTypeInference3.types          |  2 +-
 .../reference/intersectionTypeMembers.types   |  4 +-
 .../intersectionTypeNormalization.types       | 36 ++++++------
 .../intersectionTypeOverloading.types         |  4 +-
 .../intersectionTypeWithLeadingOperator.types |  4 +-
 .../intersectionWithIndexSignatures.types     |  6 +-
 .../intersectionsAndEmptyObjects.types        | 16 ++---
 .../intersectionsAndOptionalProperties.types  |  2 +-
 .../intersectionsAndReadonlyProperties.types  |  6 +-
 .../reference/intraExpressionInferences.types |  2 +-
 .../isomorphicMappedTypeInference.types       |  2 +-
 ...tionsWithDefaultAsNamespaceLikeMerge.types |  2 +-
 .../jsxCallElaborationCheckNoCrash1.types     |  2 +-
 ...xChildrenIndividualErrorElaborations.types |  2 +-
 ...onfusableWithMultipleChildrenNoError.types |  2 +-
 ...omplexSignatureHasApplicabilityError.types | 30 +++++-----
 .../jsxFragmentFactoryNoUnusedLocals.types    |  2 +-
 ...ibraryManagedAttributesUnusedGeneric.types |  2 +-
 ...xLocalNamespaceIndexSignatureNoCrash.types |  2 +-
 .../jsxNamespaceGlobalReexport.types          |  6 +-
 ...paceGlobalReexportMissingAliasTarget.types |  6 +-
 ...xNamespaceImplicitImportJSXNamespace.types |  6 +-
 ...figPickedOverGlobalOne(jsx=preserve).types |  2 +-
 ...igPickedOverGlobalOne(jsx=react-jsx).types |  2 +-
 ...mespaceFromPragmaPickedOverGlobalOne.types |  2 +-
 .../jsxSpreadFirstUnionNoErrors.types         |  2 +-
 .../reference/keyRemappingKeyofResult.types   |  8 +--
 .../reference/keyofAndIndexedAccess.types     | 14 ++---
 .../reference/keyofAndIndexedAccess2.types    |  4 +-
 .../keyofAndIndexedAccessErrors.types         |  2 +-
 .../reference/keyofDoesntContainSymbols.types |  2 +-
 .../reference/keyofIntersection.types         | 14 ++---
 ...WithTupleArgsHasCorrectAssignability.types |  4 +-
 ...teBoundConstraintTypeChecksCorrectly.types |  2 +-
 .../reference/literalTypeWidening.types       |  4 +-
 tests/baselines/reference/literalTypes1.types |  2 +-
 tests/baselines/reference/literalTypes2.types |  2 +-
 .../localTypeParameterInferencePriority.types |  2 +-
 .../reference/mapOnTupleTypes02.types         |  2 +-
 .../reference/mappedTypeAsClauses.types       | 20 +++----
 .../reference/mappedTypeConstraints.types     |  2 +-
 .../mappedTypeContextualTypesApplied.types    |  2 +-
 .../reference/mappedTypeErrors.types          | 26 ++++-----
 .../reference/mappedTypeErrors2.types         |  4 +-
 .../reference/mappedTypeIndexedAccess.types   |  2 +-
 .../mappedTypeInferenceCircularity.types      |  2 +-
 .../reference/mappedTypeModifiers.types       | 18 +++---
 .../mappedTypeOverlappingStringEnumKeys.types |  6 +-
 .../reference/mappedTypeProperties.types      | 14 ++---
 .../reference/mappedTypeRelationships.types   |  6 +-
 .../reference/mappedTypeWithAny.types         |  4 +-
 tests/baselines/reference/mappedTypes1.types  | 48 +++++++--------
 tests/baselines/reference/mappedTypes4.types  | 28 ++++-----
 tests/baselines/reference/mappedTypes5.types  |  8 +--
 tests/baselines/reference/mappedTypes6.types  |  4 +-
 .../reference/mappedTypesArraysTuples.types   |  6 +-
 .../reference/mixinAccessModifiers.types      |  2 +-
 .../reference/namedTupleMembers.types         | 16 ++---
 .../reference/namedTupleMembersErrors.types   | 16 ++---
 .../namespaceDisambiguationInUnion.types      |  4 +-
 ...amespaceMergedWithImportAliasNoCrash.types |  2 +-
 .../reference/narrowTypeByInstanceof.types    |  2 +-
 .../narrowingByDiscriminantInLoop.types       |  2 +-
 .../reference/narrowingByTypeofInSwitch.types |  6 +-
 .../reference/narrowingDestructuring.types    |  4 +-
 .../reference/narrowingIntersection.types     |  6 +-
 .../reference/narrowingOfQualifiedNames.types |  6 +-
 .../reference/narrowingTypeofFunction.types   |  2 +-
 ...rbyIdenticalGenericLambdasAssignable.types |  2 +-
 ...estedRecursiveArraysOrObjectsError01.types |  2 +-
 .../reference/neverUnionIntersection.types    |  2 +-
 .../reference/noAsConstNameLookup.types       |  4 +-
 .../noCrashUMDMergedWithGlobalValue.types     |  2 +-
 .../reference/noErrorTruncation.types         | 12 ++--
 ...licitAnyDestructuringInPrivateMethod.types |  2 +-
 .../reference/noImplicitSymbolToString.types  |  2 +-
 .../baselines/reference/noMappedGetSet.types  |  2 +-
 .../reference/noStrictGenericChecks.types     |  4 +-
 .../noUnusedLocals_selfReference.types        |  2 +-
 ...eModeDeclarationEmit1(module=node12).types |  2 +-
 ...odeDeclarationEmit1(module=nodenext).types |  2 +-
 ...eclarationEmitErrors1(module=node12).types |  6 +-
 ...larationEmitErrors1(module=nodenext).types |  6 +-
 ...enericTypeReferenceWithTypeArguments.types |  2 +-
 .../reference/nonNullReferenceMatching.types  |  6 +-
 .../reference/numericEnumMappedType.types     |  6 +-
 .../reference/numericLiteralTypes1.types      | 10 ++--
 .../reference/numericLiteralTypes2.types      | 10 ++--
 .../reference/numericLiteralTypes3.types      |  6 +-
 .../objectInstantiationFromUnionSpread.types  |  2 +-
 .../objectLiteralEnumPropertyNames.types      |  4 +-
 .../reference/objectRestReadonly.types        |  2 +-
 tests/baselines/reference/objectSpread.types  |  2 +-
 .../reference/objectSpreadStrictNull.types    |  2 +-
 ...thStringAndNumberIndexSignatureToAny.types |  2 +-
 .../reference/omitTypeHelperModifiers01.types |  4 +-
 .../reference/omitTypeTestErrors01.types      |  4 +-
 .../baselines/reference/omitTypeTests01.types |  4 +-
 .../operatorsAndIntersectionTypes.types       |  4 +-
 .../reference/optionalTupleElements1.types    | 10 ++--
 tests/baselines/reference/override19.types    |  2 +-
 .../parenthesizedContexualTyping1.types       |  2 +-
 .../parenthesizedContexualTyping2.types       |  4 +-
 .../parseErrorIncorrectReturnToken.types      |  4 +-
 ...DiscriminatedUnionMemberHasGoodError.types |  2 +-
 .../partialTypeNarrowedToByTypeGuard.types    |  4 +-
 .../partiallyDiscriminantedUnions.types       |  6 +-
 .../reference/preserveUnusedImports.types     |  2 +-
 ...mports_errors(isolatedmodules=false).types |  2 +-
 ...Imports_errors(isolatedmodules=true).types |  2 +-
 .../reference/primitiveUnionDetection.types   |  2 +-
 .../privateNameAndPropertySignature.types     |  2 +-
 .../reference/privatePropertyInUnion.types    |  2 +-
 .../propTypeValidatorInference.types          |  4 +-
 ...kinfoTypeAtReturnPositionsInaccurate.types |  2 +-
 .../reference/ramdaToolsNoInfinite.types      |  2 +-
 .../reference/ramdaToolsNoInfinite2.types     | 28 ++++-----
 .../reference/reachabilityChecks4.types       |  4 +-
 .../reference/readonlyArraysAndTuples.types   | 16 ++---
 .../reference/readonlyArraysAndTuples2.types  | 12 ++--
 .../reference/recursiveArrayNotCircular.types |  2 +-
 .../reference/recursiveConditionalTypes.types | 16 ++---
 .../recursiveExcessPropertyChecks.types       |  2 +-
 .../recursiveGenericUnionType1.types          |  4 +-
 .../recursiveGenericUnionType2.types          |  4 +-
 .../reference/recursiveMappedTypes.types      |  8 +--
 .../recursiveTupleTypeInference.types         |  2 +-
 .../reference/recursiveTypeReferences1.types  | 26 ++++-----
 .../reference/restTupleElements1.types        | 34 +++++------
 .../restTuplesFromContextualTypes.types       |  4 +-
 .../returnTypeInferenceNotTooBroad.types      |  2 +-
 .../reverseMappedTypeAssignableToIndex.types  |  4 +-
 ...elfReferencingTypeReferenceInference.types |  2 +-
 .../reference/silentNeverPropagation.types    |  4 +-
 .../reference/singletonLabeledTuple.types     |  4 +-
 ...nDestructuringForArrayBindingPattern.types |  4 +-
 ...DestructuringForArrayBindingPattern2.types |  4 +-
 ...gForArrayBindingPatternDefaultValues.types |  4 +-
 ...ForArrayBindingPatternDefaultValues2.types |  4 +-
 ...estructuringForOfArrayBindingPattern.types |  4 +-
 ...structuringForOfArrayBindingPattern2.types |  4 +-
 ...orOfArrayBindingPatternDefaultValues.types |  4 +-
 ...rOfArrayBindingPatternDefaultValues2.types |  4 +-
 ...cturingParametertArrayBindingPattern.types |  2 +-
 ...turingParametertArrayBindingPattern2.types |  2 +-
 ...tertArrayBindingPatternDefaultValues.types |  2 +-
 ...ertArrayBindingPatternDefaultValues2.types |  2 +-
 ...VariableStatementArrayBindingPattern.types |  2 +-
 ...ariableStatementArrayBindingPattern2.types |  2 +-
 ...ariableStatementArrayBindingPattern3.types |  4 +-
 ...mentArrayBindingPatternDefaultValues.types |  2 +-
 ...entArrayBindingPatternDefaultValues2.types |  2 +-
 ...entArrayBindingPatternDefaultValues3.types |  4 +-
 .../spreadBooleanRespectsFreshness.types      |  6 +-
 .../reference/spreadExcessProperty.types      |  2 +-
 .../reference/staticIndexSignature5.types     |  8 +--
 .../reference/strictOptionalProperties1.types |  6 +-
 .../reference/stringEnumLiteralTypes1.types   |  8 +--
 .../reference/stringEnumLiteralTypes2.types   |  8 +--
 .../reference/stringEnumLiteralTypes3.types   |  6 +-
 .../stringLiteralCheckedInIf01.types          |  4 +-
 .../stringLiteralCheckedInIf02.types          |  4 +-
 .../stringLiteralMatchedInSwitch01.types      |  4 +-
 .../stringLiteralTypeAssertion01.types        |  4 +-
 .../stringLiteralTypesAndTuples01.types       |  2 +-
 .../stringLiteralTypesAsTags01.types          |  2 +-
 .../stringLiteralTypesAsTags02.types          |  2 +-
 .../stringLiteralTypesAsTags03.types          |  2 +-
 .../stringLiteralTypesInUnionTypes01.types    |  2 +-
 .../stringLiteralTypesInUnionTypes03.types    |  2 +-
 .../stringLiteralTypesInUnionTypes04.types    |  2 +-
 .../stringLiteralTypesOverloads01.types       |  2 +-
 .../stringLiteralTypesTypePredicates01.types  |  2 +-
 ...alsAssertionsInEqualityComparisons02.types |  2 +-
 ...omponentsInstantiaionLimitNotReached.types |  2 +-
 ...stituteReturnTypeSatisfiesConstraint.types |  4 +-
 ...mpareCorrectlyInRestrictiveInstances.types |  4 +-
 ...ubstitutionTypesInIndexedAccessTypes.types |  2 +-
 ...symbolLinkDeclarationEmitModuleNames.types |  2 +-
 ...inkDeclarationEmitModuleNamesRootDir.types |  2 +-
 .../symbolMergeValueAndImportedType.types     |  2 +-
 .../reference/taggedPrimitiveNarrowing.types  |  2 +-
 .../taggedTemplateContextualTyping1.types     |  2 +-
 .../taggedTemplateContextualTyping2.types     |  4 +-
 .../templateLiteralIntersection.types         |  8 +--
 .../reference/templateLiteralTypes1.types     | 18 +++---
 .../reference/templateLiteralTypes3.types     | 12 ++--
 .../reference/thisTypeInObjectLiterals2.types |  2 +-
 .../tryCatchFinallyControlFlow.types          |  2 +-
 .../reference/tsxAttributeResolution16.types  |  2 +-
 .../tsxAttributesHasInferrableIndex.types     |  2 +-
 .../tsxDiscriminantPropertyInference.types    |  6 +-
 .../tsxLibraryManagedAttributes.types         |  2 +-
 .../tsxSpreadAttributesResolution6.types      |  2 +-
 .../tsxSpreadAttributesResolution7.types      |  2 +-
 .../tsxTypeArgumentsJsxPreserveOutput.types   |  2 +-
 .../baselines/reference/tsxUnionSpread.types  |  6 +-
 .../reference/tsxUnionTypeComponent2.types    |  2 +-
 tests/baselines/reference/tupleTypes.types    |  2 +-
 ...ypeAliasDoesntMakeModuleInstantiated.types |  2 +-
 .../typeAliasFunctionTypeSharedSymbol.types   |  2 +-
 tests/baselines/reference/typeAliases.types   | 10 ++--
 .../reference/typeAliasesForObjectTypes.types |  4 +-
 ...lyReferencedTypeAliasToTypeLiteral01.types |  2 +-
 ...lyReferencedTypeAliasToTypeLiteral02.types |  4 +-
 .../reference/typeGuardFunctionErrors.types   |  6 +-
 ...NarrowsIndexedAccessOfKnownProperty1.types | 10 ++--
 ...NarrowsIndexedAccessOfKnownProperty3.types |  2 +-
 ...ypeGuardNarrowsPrimitiveIntersection.types |  2 +-
 .../reference/typeInferenceLiteralUnion.types |  2 +-
 ...anceMemberNarrowedWithLoopAntecedent.types |  2 +-
 ...terExtendsUnionConstraintDistributed.types |  4 +-
 .../reference/typeParameterLeak.types         |  2 +-
 .../typePredicateStructuralMatch.types        |  4 +-
 .../reference/typePredicatesInUnion.types     |  2 +-
 .../typePredicatesInUnion_noMatch.types       |  2 +-
 .../typeUsedAsTypeLiteralIndex.types          | 18 +++---
 .../reference/typeUsedAsValueError.types      |  2 +-
 .../reference/typeVariableTypeGuards.types    |  2 +-
 .../reference/typeofStripsFreshness.types     |  2 +-
 .../typeofUsedBeforeBlockScoped.types         |  2 +-
 ...onErrorMessageOnMatchingDiscriminant.types |  8 +--
 .../reference/unionPropertyExistence.types    |  4 +-
 .../reference/unionTypeCallSignatures4.types  | 10 ++--
 .../reference/unionTypeCallSignatures6.types  | 16 ++---
 .../reference/unionTypeReduction2.types       |  4 +-
 .../unionTypeWithIndexSignature.types         | 12 ++--
 .../unionTypeWithIndexedLiteralType.types     |  2 +-
 .../unionTypeWithLeadingOperator.types        |  6 +-
 .../reference/unionWithIndexSignature.types   |  2 +-
 .../reference/unionsOfTupleTypes1.types       | 10 ++--
 tests/baselines/reference/uniqueSymbols.types |  2 +-
 .../reference/uniqueSymbolsDeclarations.types |  2 +-
 .../uniqueSymbolsDeclarationsErrors.types     |  4 +-
 .../reference/uniqueSymbolsErrors.types       |  2 +-
 tests/baselines/reference/unknownType1.types  |  2 +-
 tests/baselines/reference/unknownType2.types  |  2 +-
 ...ConstructorTypeInUnionOrIntersection.types | 22 +++----
 ...zedFunctionTypeInUnionOrIntersection.types | 26 ++++-----
 ...unusedLocalsAndParametersTypeAliases.types | 12 ++--
 ...nusedLocalsAndParametersTypeAliases2.types |  2 +-
 .../reference/varRequireFromTypescript.types  |  2 +-
 .../baselines/reference/variadicTuples1.types |  2 +-
 .../baselines/reference/variadicTuples2.types | 12 ++--
 .../varianceCallbacksAndIndexedAccesses.types |  4 +-
 ...eroOrderIndexSignatureRelationsAlign.types |  2 +-
 ...roOrderIndexSignatureRelationsAlign2.types |  2 +-
 ...peatedlyPropegatesWithUnreliableFlag.types |  4 +-
 tests/baselines/reference/weakType.types      | 12 ++--
 428 files changed, 1197 insertions(+), 1189 deletions(-)

diff --git a/src/harness/typeWriter.ts b/src/harness/typeWriter.ts
index 3de4f3962e69a..f98463b240bf0 100644
--- a/src/harness/typeWriter.ts
+++ b/src/harness/typeWriter.ts
@@ -115,31 +115,39 @@ namespace Harness {
                 // let type = this.checker.getTypeAtLocation(node);
                 let type = ts.isExpressionWithTypeArgumentsInClassExtendsClause(node.parent) ? this.checker.getTypeAtLocation(node.parent) : undefined;
                 if (!type || type.flags & ts.TypeFlags.Any) type = this.checker.getTypeAtLocation(node);
-                const typeString =
-                    // Distinguish `errorType`s from `any`s; but only if the file has no errors.
-                    // Additionally,
-                    // * the LHS of a qualified name
-                    // * a binding pattern name
-                    // * labels
-                    // * the "global" in "declare global"
-                    // * the "target" in "new.target"
-                    // * names in import statements
-                    // * type-only names in export statements
-                    // * and intrinsic jsx tag names
-                    // return `error`s via `getTypeAtLocation`
-                    // But this is generally expected, so we don't call those out, either
-                    (!this.hadErrorBaseline &&
-                        type.flags & ts.TypeFlags.Any &&
-                        !ts.isBindingElement(node.parent) &&
-                        !ts.isPropertyAccessOrQualifiedName(node.parent) &&
-                        !ts.isLabelName(node) &&
-                        !(ts.isModuleDeclaration(node.parent) && ts.isGlobalScopeAugmentation(node.parent)) &&
-                        !ts.isMetaProperty(node.parent) &&
-                        !this.isImportStatementName(node) &&
-                        !this.isExportStatementName(node) &&
-                        !this.isIntrinsicJsxTag(node)) ?
-                        (type as ts.IntrinsicType).intrinsicName :
-                        this.checker.typeToString(type, node.parent, ts.TypeFormatFlags.NoTruncation | ts.TypeFormatFlags.AllowUniqueESSymbolType);
+                // Distinguish `errorType`s from `any`s; but only if the file has no errors.
+                // Additionally,
+                // * the LHS of a qualified name
+                // * a binding pattern name
+                // * labels
+                // * the "global" in "declare global"
+                // * the "target" in "new.target"
+                // * names in import statements
+                // * type-only names in export statements
+                // * and intrinsic jsx tag names
+                // return `error`s via `getTypeAtLocation`
+                // But this is generally expected, so we don't call those out, either
+                let typeString: string;
+                if (!this.hadErrorBaseline &&
+                    type.flags & ts.TypeFlags.Any &&
+                    !ts.isBindingElement(node.parent) &&
+                    !ts.isPropertyAccessOrQualifiedName(node.parent) &&
+                    !ts.isLabelName(node) &&
+                    !(ts.isModuleDeclaration(node.parent) && ts.isGlobalScopeAugmentation(node.parent)) &&
+                    !ts.isMetaProperty(node.parent) &&
+                    !this.isImportStatementName(node) &&
+                    !this.isExportStatementName(node) &&
+                    !this.isIntrinsicJsxTag(node)) {
+                    typeString = (type as ts.IntrinsicType).intrinsicName;
+                }
+                else {
+                    typeString = this.checker.typeToString(type, node.parent, ts.TypeFormatFlags.NoTruncation | ts.TypeFormatFlags.AllowUniqueESSymbolType);
+                    if (ts.isIdentifier(node) && ts.isTypeAliasDeclaration(node.parent) && node.parent.name === node && typeString === ts.idText(node)) {
+                        // for a complex type alias `type T = ...`, showing "T : T" isn't very helpful for type tests. When the type produced is the same as
+                        // the name of the type alias, recreate the type string without reusing the alias name
+                        typeString = this.checker.typeToString(type, node.parent, ts.TypeFormatFlags.NoTruncation | ts.TypeFormatFlags.AllowUniqueESSymbolType | ts.TypeFormatFlags.InTypeAlias);
+                    }
+                }
                 return {
                     line: lineAndCharacter.line,
                     syntaxKind: node.kind,
diff --git a/tests/baselines/reference/DeclarationErrorsNoEmitOnError.types b/tests/baselines/reference/DeclarationErrorsNoEmitOnError.types
index 553563168a867..5e79973b27b15 100644
--- a/tests/baselines/reference/DeclarationErrorsNoEmitOnError.types
+++ b/tests/baselines/reference/DeclarationErrorsNoEmitOnError.types
@@ -1,6 +1,6 @@
 === tests/cases/compiler/DeclarationErrorsNoEmitOnError.ts ===
 type T = { x : number }
->T : T
+>T : { x: number; }
 >x : number
 
 export interface I {
diff --git a/tests/baselines/reference/abstractClassUnionInstantiation.types b/tests/baselines/reference/abstractClassUnionInstantiation.types
index 969f0b85c44a5..1f1458a7283ed 100644
--- a/tests/baselines/reference/abstractClassUnionInstantiation.types
+++ b/tests/baselines/reference/abstractClassUnionInstantiation.types
@@ -14,17 +14,17 @@ abstract class AbstractB { b: string; }
 >b : string
 
 type Abstracts = typeof AbstractA | typeof AbstractB;
->Abstracts : Abstracts
+>Abstracts : typeof AbstractA | typeof AbstractB
 >AbstractA : typeof AbstractA
 >AbstractB : typeof AbstractB
 
 type Concretes = typeof ConcreteA | typeof ConcreteB;
->Concretes : Concretes
+>Concretes : typeof ConcreteA | typeof ConcreteB
 >ConcreteA : typeof ConcreteA
 >ConcreteB : typeof ConcreteB
 
 type ConcretesOrAbstracts = Concretes | Abstracts;
->ConcretesOrAbstracts : ConcretesOrAbstracts
+>ConcretesOrAbstracts : Abstracts | Concretes
 
 declare const cls1: ConcretesOrAbstracts;
 >cls1 : ConcretesOrAbstracts
diff --git a/tests/baselines/reference/accessorBodyInTypeContext.types b/tests/baselines/reference/accessorBodyInTypeContext.types
index ad04c25524d88..41a1a234e1bab 100644
--- a/tests/baselines/reference/accessorBodyInTypeContext.types
+++ b/tests/baselines/reference/accessorBodyInTypeContext.types
@@ -1,6 +1,6 @@
 === tests/cases/compiler/accessorBodyInTypeContext.ts ===
 type A = {
->A : A
+>A : { readonly foo: number; }
 
     get foo() { return 0 }
 >foo : number
@@ -9,7 +9,7 @@ type A = {
 };
 
 type B = {
->B : B
+>B : { foo: any; }
 
     set foo(v: any) { }
 >foo : any
diff --git a/tests/baselines/reference/aliasOfGenericFunctionWithRestBehavedSameAsUnaliased.types b/tests/baselines/reference/aliasOfGenericFunctionWithRestBehavedSameAsUnaliased.types
index 6377ed3cd7315..8b580c9cb3268 100644
--- a/tests/baselines/reference/aliasOfGenericFunctionWithRestBehavedSameAsUnaliased.types
+++ b/tests/baselines/reference/aliasOfGenericFunctionWithRestBehavedSameAsUnaliased.types
@@ -8,10 +8,10 @@ type ExtendedMapper<HandledInputT, OutputT, ArgsT extends any[]> = (name : strin
 >args : ArgsT
 
 type a = ExtendedMapper<any, any, [any]>;
->a : a
+>a : (name: string, mixed: any, args_0: any) => any
 
 type b = ExtendedMapper<any, any, any[]>;
->b : b
+>b : (name: string, mixed: any, ...args: any[]) => any
 
 type test = a extends b ? "y" : "n"
 >test : "y"
@@ -32,10 +32,10 @@ type ExtendedMapper1<HandledInputT, OutputT, ArgsT extends any[]> = (
 );
 
 type a1 = ExtendedMapper1<any, any, [any]>;
->a1 : a1
+>a1 : (name: string, mixed: any, args_0: any) => any
 
 type b1 = ExtendedMapper1<any, any, any[]>;
->b1 : b1
+>b1 : (name: string, mixed: any, ...args: any[]) => any
 
 type test1 = a1 extends b1 ? "y" : "n"
 >test1 : "y"
@@ -56,10 +56,10 @@ type ExtendedMapper2<HandledInputT, OutputT, ArgsT extends any[]> = (
 );
 
 type a2 = ExtendedMapper2<any, any, [any]>;
->a2 : a2
+>a2 : (name: string, mixed: any, args_0: any) => any
 
 type b2 = ExtendedMapper2<any, any, any[]>;
->b2 : b2
+>b2 : (name: string, mixed: any, ...args: any[]) => any
 
 type test2 = a2 extends b2 ? "y" : "n"
 >test2 : "y"
@@ -69,13 +69,13 @@ let check2: test2 = "y";
 >"y" : "y"
 
 type a3 = (name: string, mixed: any, args_0: any) => any
->a3 : a3
+>a3 : (name: string, mixed: any, args_0: any) => any
 >name : string
 >mixed : any
 >args_0 : any
 
 type b3 = (name: string, mixed: any, ...args: any[]) => any
->b3 : b3
+>b3 : (name: string, mixed: any, ...args: any[]) => any
 >name : string
 >mixed : any
 >args : any[]
diff --git a/tests/baselines/reference/anyMappedTypesError.types b/tests/baselines/reference/anyMappedTypesError.types
index 876d29194414f..e30f65d142ec1 100644
--- a/tests/baselines/reference/anyMappedTypesError.types
+++ b/tests/baselines/reference/anyMappedTypesError.types
@@ -1,4 +1,4 @@
 === tests/cases/compiler/anyMappedTypesError.ts ===
 type Foo = {[P in "bar"]};
->Foo : Foo
+>Foo : { bar: any; }
 
diff --git a/tests/baselines/reference/argumentsAsPropertyName.types b/tests/baselines/reference/argumentsAsPropertyName.types
index 86bbd8474702c..b5753c3da720f 100644
--- a/tests/baselines/reference/argumentsAsPropertyName.types
+++ b/tests/baselines/reference/argumentsAsPropertyName.types
@@ -1,7 +1,7 @@
 === tests/cases/compiler/argumentsAsPropertyName.ts ===
 // target: es5
 type MyType = {
->MyType : MyType
+>MyType : { arguments: Array<string>; }
 
     arguments: Array<string>
 >arguments : string[]
diff --git a/tests/baselines/reference/arrayDestructuringInSwitch1.types b/tests/baselines/reference/arrayDestructuringInSwitch1.types
index dfb06774cec16..56d48f6a30075 100644
--- a/tests/baselines/reference/arrayDestructuringInSwitch1.types
+++ b/tests/baselines/reference/arrayDestructuringInSwitch1.types
@@ -1,9 +1,9 @@
 === tests/cases/compiler/arrayDestructuringInSwitch1.ts ===
 export type Expression = BooleanLogicExpression | 'true' | 'false';
->Expression : Expression
+>Expression : BooleanLogicExpression | "true" | "false"
 
 export type BooleanLogicExpression = ['and', ...Expression[]] | ['not', Expression];
->BooleanLogicExpression : BooleanLogicExpression
+>BooleanLogicExpression : ["and", ...Expression[]] | ["not", Expression]
 
 export function evaluate(expression: Expression): boolean {
 >evaluate : (expression: Expression) => boolean
diff --git a/tests/baselines/reference/arrayDestructuringInSwitch2.types b/tests/baselines/reference/arrayDestructuringInSwitch2.types
index 727a2fc68ebc3..62b0999fcbd6b 100644
--- a/tests/baselines/reference/arrayDestructuringInSwitch2.types
+++ b/tests/baselines/reference/arrayDestructuringInSwitch2.types
@@ -1,6 +1,6 @@
 === tests/cases/compiler/arrayDestructuringInSwitch2.ts ===
 type X = { kind: "a", a: [1] } | { kind: "b", a: [] }
->X : X
+>X : { kind: "a"; a: [1]; } | { kind: "b"; a: []; }
 >kind : "a"
 >a : [1]
 >kind : "b"
diff --git a/tests/baselines/reference/assertionFunctionsCanNarrowByDiscriminant.types b/tests/baselines/reference/assertionFunctionsCanNarrowByDiscriminant.types
index aa4b32692b10d..9384922fa7a29 100644
--- a/tests/baselines/reference/assertionFunctionsCanNarrowByDiscriminant.types
+++ b/tests/baselines/reference/assertionFunctionsCanNarrowByDiscriminant.types
@@ -18,7 +18,7 @@ interface Dog {
 }
 
 type Animal = Cat | Dog;
->Animal : Animal
+>Animal : Cat | Dog
 
 declare function assertEqual<T>(value: any, type: T): asserts value is T;
 >assertEqual : <T>(value: any, type: T) => asserts value is T
diff --git a/tests/baselines/reference/assignmentCompatWithDiscriminatedUnion.types b/tests/baselines/reference/assignmentCompatWithDiscriminatedUnion.types
index cc88ed30c0738..58784a84667ad 100644
--- a/tests/baselines/reference/assignmentCompatWithDiscriminatedUnion.types
+++ b/tests/baselines/reference/assignmentCompatWithDiscriminatedUnion.types
@@ -6,12 +6,12 @@ namespace Example1 {
 >Example1 : typeof Example1
 
     type S = { done: boolean, value: number };
->S : S
+>S : { done: boolean; value: number; }
 >done : boolean
 >value : number
 
     type T =
->T : T
+>T : { done: true; value: number; } | { done: false; value: number; }
 
         | { done: true, value: number }     // T0
 >done : true
@@ -42,12 +42,12 @@ namespace Example2 {
 >Example2 : typeof Example2
 
     type S = { a: 0 | 2, b: 4 };
->S : S
+>S : { a: 0 | 2; b: 4; }
 >a : 0 | 2
 >b : 4
 
     type T = { a: 0,     b: 1 | 4 }     // T0
->T : T
+>T : { a: 0; b: 1 | 4; } | { a: 1; b: 2; } | { a: 2; b: 3 | 4; }
 >a : 0
 >b : 4 | 1
 
@@ -78,12 +78,12 @@ namespace Example3 {
 >Example3 : typeof Example3
 
     type S = { a: 0 | 2, b: 4 };
->S : S
+>S : { a: 0 | 2; b: 4; }
 >a : 0 | 2
 >b : 4
 
     type T = { a: 0,     b: 1 | 4 }     // T0
->T : T
+>T : { a: 0; b: 1 | 4; } | { a: 1; b: 2 | 4; } | { a: 2; b: 3; }
 >a : 0
 >b : 4 | 1
 
@@ -115,12 +115,12 @@ namespace Example4 {
 >Example4 : typeof Example4
 
     type S = { a: 0 | 2, b: 4 };
->S : S
+>S : { a: 0 | 2; b: 4; }
 >a : 0 | 2
 >b : 4
 
     type T = { a: 0,     b: 1 | 4 }             // T0
->T : T
+>T : { a: 0; b: 1 | 4; } | { a: 1; b: 2; } | { a: 2; b: 3 | 4; c: string; }
 >a : 0
 >b : 4 | 1
 
@@ -155,16 +155,16 @@ namespace Example5 {
     //       3 discriminant properties with 3 types a piece
     //       is 27 possible combinations.
     type N = 0 | 1 | 2;
->N : N
+>N : 0 | 2 | 1
 
     type S = { a: N, b: N, c: N };
->S : S
+>S : { a: N; b: N; c: N; }
 >a : N
 >b : N
 >c : N
 
     type T = { a: 0, b: N, c: N }
->T : T
+>T : { a: 0; b: N; c: N; } | { a: 1; b: N; c: N; } | { a: 2; b: N; c: N; } | { a: N; b: 0; c: N; } | { a: N; b: 1; c: N; } | { a: N; b: 2; c: N; } | { a: N; b: N; c: 0; } | { a: N; b: N; c: 1; } | { a: N; b: N; c: 2; }
 >a : 0
 >b : N
 >c : N
@@ -228,7 +228,7 @@ namespace GH14865 {
 >GH14865 : typeof GH14865
 
     type Style1 = {
->Style1 : Style1
+>Style1 : { type: "A"; data: string; } | { type: "B"; data: string; }
 
         type: "A";
 >type : "A"
@@ -246,7 +246,7 @@ namespace GH14865 {
     };
 
     type Style2 = {
->Style2 : Style2
+>Style2 : { type: "A" | "B"; data: string; }
 
         type: "A" | "B";
 >type : "A" | "B"
@@ -322,10 +322,10 @@ namespace GH12052 {
 >type : "categorical"
 
     type IAxis = ILinearAxis | ICategoricalAxis;
->IAxis : IAxis
+>IAxis : ILinearAxis | ICategoricalAxis
 
     type IAxisType = "linear" | "categorical";
->IAxisType : IAxisType
+>IAxisType : "linear" | "categorical"
 
     function getAxisType(): IAxisType {
 >getAxisType : () => IAxisType
@@ -381,10 +381,10 @@ namespace GH18421 {
     }
 
     type ThingType = 'one' | 'two';
->ThingType : ThingType
+>ThingType : "one" | "two"
 
     type Thing = ThingTypeOne | ThingTypeTwo;
->Thing : Thing
+>Thing : ThingTypeOne | ThingTypeTwo
 
     function makeNewThing(thingType: ThingType): Thing {
 >makeNewThing : (thingType: ThingType) => Thing
@@ -406,7 +406,7 @@ namespace GH15907 {
 >GH15907 : typeof GH15907
 
     type Action = { type: 'activate' } | { type: 'disactivate' };
->Action : Action
+>Action : { type: 'activate'; } | { type: 'disactivate'; }
 >type : "activate"
 >type : "disactivate"
 
@@ -445,7 +445,7 @@ namespace GH20889 {
 >type : "A2"
     }
     type AU = A1 | A2;
->AU : AU
+>AU : A1 | A2
 
     function foo(obj1: AU) {
 >foo : (obj1: AU) => void
@@ -470,10 +470,10 @@ namespace GH39357 {
 >GH39357 : typeof GH39357
 
     type A = ["a", number] | ["b", number] | ["c", string];
->A : A
+>A : ["a", number] | ["b", number] | ["c", string]
 
     type B = "a" | "b" | "c";
->B : B
+>B : "a" | "b" | "c"
 
     declare const b: B;
 >b : B
diff --git a/tests/baselines/reference/asyncFunctionContextuallyTypedReturns.types b/tests/baselines/reference/asyncFunctionContextuallyTypedReturns.types
index 15a26ac4a9a2f..a5b9c879c7580 100644
--- a/tests/baselines/reference/asyncFunctionContextuallyTypedReturns.types
+++ b/tests/baselines/reference/asyncFunctionContextuallyTypedReturns.types
@@ -64,7 +64,7 @@ g(async v => v ? "contextuallyTypable" : Promise.reject());
 >reject : <T = never>(reason?: any) => Promise<T>
 
 type MyCallback = (thing: string) => void;
->MyCallback : MyCallback
+>MyCallback : (thing: string) => void
 >thing : string
 
 declare function h(cb: (v: boolean) => MyCallback | PromiseLike<MyCallback>): void;
diff --git a/tests/baselines/reference/awaitedType.types b/tests/baselines/reference/awaitedType.types
index 9bca225ef3de3..5af5babaedf12 100644
--- a/tests/baselines/reference/awaitedType.types
+++ b/tests/baselines/reference/awaitedType.types
@@ -9,7 +9,7 @@ type T3 = Awaited<number | Promise<number>>;
 >T3 : number
 
 type T4 = Awaited<number | Promise<string>>;
->T4 : T4
+>T4 : string | number
 
 type T5 = Awaited<{ then: number }>;
 >T5 : { then: number; }
diff --git a/tests/baselines/reference/awaitedTypeStrictNull.types b/tests/baselines/reference/awaitedTypeStrictNull.types
index 574161fa592e4..e3deb7d2247df 100644
--- a/tests/baselines/reference/awaitedTypeStrictNull.types
+++ b/tests/baselines/reference/awaitedTypeStrictNull.types
@@ -9,7 +9,7 @@ type T3 = Awaited<number | Promise<number>>;
 >T3 : number
 
 type T4 = Awaited<number | Promise<string>>;
->T4 : T4
+>T4 : string | number
 
 type T5 = Awaited<{ then: number }>;
 >T5 : { then: number; }
diff --git a/tests/baselines/reference/booleanLiteralTypes1.types b/tests/baselines/reference/booleanLiteralTypes1.types
index f40f964eacc0b..4de330f57ae6d 100644
--- a/tests/baselines/reference/booleanLiteralTypes1.types
+++ b/tests/baselines/reference/booleanLiteralTypes1.types
@@ -1,11 +1,11 @@
 === tests/cases/conformance/types/literal/booleanLiteralTypes1.ts ===
 type A1 = true | false;
->A1 : A1
+>A1 : boolean
 >true : true
 >false : false
 
 type A2 = false | true;
->A2 : A2
+>A2 : boolean
 >false : false
 >true : true
 
@@ -244,7 +244,7 @@ function f13(x: true | false) {
 }
 
 type Item =
->Item : Item
+>Item : { kind: true; a: string; } | { kind: false; b: string; }
 
     { kind: true, a: string } |
 >kind : true
diff --git a/tests/baselines/reference/booleanLiteralTypes2.types b/tests/baselines/reference/booleanLiteralTypes2.types
index 16323492d7a72..484d83fefd889 100644
--- a/tests/baselines/reference/booleanLiteralTypes2.types
+++ b/tests/baselines/reference/booleanLiteralTypes2.types
@@ -1,11 +1,11 @@
 === tests/cases/conformance/types/literal/booleanLiteralTypes2.ts ===
 type A1 = true | false;
->A1 : A1
+>A1 : boolean
 >true : true
 >false : false
 
 type A2 = false | true;
->A2 : A2
+>A2 : boolean
 >false : false
 >true : true
 
@@ -244,7 +244,7 @@ function f13(x: true | false) {
 }
 
 type Item =
->Item : Item
+>Item : { kind: true; a: string; } | { kind: false; b: string; }
 
     { kind: true, a: string } |
 >kind : true
diff --git a/tests/baselines/reference/booleanLiteralsContextuallyTypedFromUnion.types b/tests/baselines/reference/booleanLiteralsContextuallyTypedFromUnion.types
index d30986c385910..77b32edaf0acd 100644
--- a/tests/baselines/reference/booleanLiteralsContextuallyTypedFromUnion.types
+++ b/tests/baselines/reference/booleanLiteralsContextuallyTypedFromUnion.types
@@ -10,7 +10,7 @@ interface B { isIt: false; value: number; }
 >value : number
 
 type C = A | B;
->C : C
+>C : A | B
 
 const isIt = Math.random() > 0.5;
 >isIt : boolean
@@ -50,7 +50,7 @@ const cc: C = isIt ? { isIt: isIt, text: 'hey' } : { isIt: isIt, value: 123 };
 >123 : 123
 
 type ComponentProps =
->ComponentProps : ComponentProps
+>ComponentProps : { optionalBool: true; mandatoryFn: () => void; } | { optionalBool: false; }
 
     | {
         optionalBool: true;
diff --git a/tests/baselines/reference/callWithSpread4.types b/tests/baselines/reference/callWithSpread4.types
index 5caef4eb70173..5d1a4a4de3065 100644
--- a/tests/baselines/reference/callWithSpread4.types
+++ b/tests/baselines/reference/callWithSpread4.types
@@ -1,14 +1,14 @@
 === tests/cases/conformance/expressions/functionCalls/callWithSpread4.ts ===
 type R = { a: number }
->R : R
+>R : { a: number; }
 >a : number
 
 type W = { b: number }
->W : W
+>W : { b: number; }
 >b : number
 
 type RW = { a: number, b: number }
->RW : RW
+>RW : { a: number; b: number; }
 >a : number
 >b : number
 
diff --git a/tests/baselines/reference/caseInsensitiveFileSystemWithCapsImportTypeDeclarations.types b/tests/baselines/reference/caseInsensitiveFileSystemWithCapsImportTypeDeclarations.types
index 0b18a2d650270..c59089053583e 100644
--- a/tests/baselines/reference/caseInsensitiveFileSystemWithCapsImportTypeDeclarations.types
+++ b/tests/baselines/reference/caseInsensitiveFileSystemWithCapsImportTypeDeclarations.types
@@ -21,7 +21,7 @@ import { TypeA } from './type-a';
 >TypeA : any
 
 export type TypeB = Merge<TypeA, {
->TypeB : TypeB
+>TypeB : TypeA & { b: string; }
 
     b: string;
 >b : string
@@ -29,7 +29,7 @@ export type TypeB = Merge<TypeA, {
 }>;
 === tests/cases/compiler/Uppercased_Dir/src/type-a.ts ===
 export type TypeA = {
->TypeA : TypeA
+>TypeA : { a: string; }
 
     a: string;
 >a : string
diff --git a/tests/baselines/reference/circularAccessorAnnotations.types b/tests/baselines/reference/circularAccessorAnnotations.types
index 1945fdc51092a..9a4041b526ca0 100644
--- a/tests/baselines/reference/circularAccessorAnnotations.types
+++ b/tests/baselines/reference/circularAccessorAnnotations.types
@@ -35,14 +35,14 @@ declare const c3: {
 }
 
 type T1 = {
->T1 : T1
+>T1 : { readonly foo: any; }
 
     get foo(): T1["foo"];
 >foo : any
 }
 
 type T2 = {
->T2 : T2
+>T2 : { foo: any; }
 
     set foo(value: T2["foo"]);
 >foo : any
@@ -50,7 +50,7 @@ type T2 = {
 }
 
 type T3 = {
->T3 : T3
+>T3 : { foo: string; }
 
     get foo(): string;
 >foo : string
diff --git a/tests/baselines/reference/circularIndexedAccessErrors.types b/tests/baselines/reference/circularIndexedAccessErrors.types
index 9ffde7a1f3c12..5085b290b690b 100644
--- a/tests/baselines/reference/circularIndexedAccessErrors.types
+++ b/tests/baselines/reference/circularIndexedAccessErrors.types
@@ -1,6 +1,6 @@
 === tests/cases/conformance/types/keyof/circularIndexedAccessErrors.ts ===
 type T1 = {
->T1 : T1
+>T1 : { x: any; }
 
     x: T1["x"];  // Error
 >x : any
diff --git a/tests/baselines/reference/circularTypeAliasForUnionWithClass.types b/tests/baselines/reference/circularTypeAliasForUnionWithClass.types
index 4127d1c30de00..6a60d579dc618 100644
--- a/tests/baselines/reference/circularTypeAliasForUnionWithClass.types
+++ b/tests/baselines/reference/circularTypeAliasForUnionWithClass.types
@@ -3,7 +3,7 @@ var v0: T0;
 >v0 : T0
 
 type T0 = string | I0;
->T0 : T0
+>T0 : string | I0
 
 class I0 {
 >I0 : I0
@@ -16,7 +16,7 @@ var v3: T3;
 >v3 : T3
 
 type T3 = string | I3;
->T3 : T3
+>T3 : string | I3
 
 class I3 {
 >I3 : I3
@@ -29,7 +29,7 @@ var v4: T4;
 >v4 : T4
 
 type T4 = string | I4;
->T4 : T4
+>T4 : string | I4
 
 class I4 {
 >I4 : I4
diff --git a/tests/baselines/reference/circularTypeAliasForUnionWithInterface.types b/tests/baselines/reference/circularTypeAliasForUnionWithInterface.types
index fa192f67db485..03a7e966828d4 100644
--- a/tests/baselines/reference/circularTypeAliasForUnionWithInterface.types
+++ b/tests/baselines/reference/circularTypeAliasForUnionWithInterface.types
@@ -3,7 +3,7 @@ var v0: T0;
 >v0 : T0
 
 type T0 = string | I0;
->T0 : T0
+>T0 : string | I0
 
 interface I0 {
     x: T0;
@@ -14,7 +14,7 @@ var v1: T1;
 >v1 : T1
 
 type T1 = string | I1;
->T1 : T1
+>T1 : string | I1
 
 interface I1 {
     (): T1;
@@ -24,7 +24,7 @@ var v2: T2;
 >v2 : T2
 
 type T2 = string | I2;
->T2 : T2
+>T2 : string | I2
 
 interface I2 {
     new (): T2;
@@ -34,7 +34,7 @@ var v3: T3;
 >v3 : T3
 
 type T3 = string | I3;
->T3 : T3
+>T3 : string | I3
 
 interface I3 {
     [x: number]: T3;
@@ -45,7 +45,7 @@ var v4: T4;
 >v4 : T4
 
 type T4 = string | I4;
->T4 : T4
+>T4 : string | I4
 
 interface I4 {
     [x: string]: T4;
diff --git a/tests/baselines/reference/circularlyReferentialInterfaceAccessNoCrash.types b/tests/baselines/reference/circularlyReferentialInterfaceAccessNoCrash.types
index 37dc9060f0bdd..47ac25fbd4068 100644
--- a/tests/baselines/reference/circularlyReferentialInterfaceAccessNoCrash.types
+++ b/tests/baselines/reference/circularlyReferentialInterfaceAccessNoCrash.types
@@ -1,6 +1,6 @@
 === tests/cases/compiler/circularlyReferentialInterfaceAccessNoCrash.ts ===
 type Mxs = Mx<'list', Mxs['p1']>;
->Mxs : Mxs
+>Mxs : Mx<any, any>
 
 interface Mx<T, K> {
   p1: T;
@@ -11,8 +11,8 @@ interface Mx<T, K> {
 }
 
 type ArrElem = ['list', ArrElem[number][0]][];
->ArrElem : ArrElem
+>ArrElem : [any, any][]
 
 type TupleElem = [['list', TupleElem[0][0]]];
->TupleElem : TupleElem
+>TupleElem : [[any, any]]
 
diff --git a/tests/baselines/reference/classDoesNotDependOnBaseTypes.types b/tests/baselines/reference/classDoesNotDependOnBaseTypes.types
index c50aef1cf1482..22a44a1608678 100644
--- a/tests/baselines/reference/classDoesNotDependOnBaseTypes.types
+++ b/tests/baselines/reference/classDoesNotDependOnBaseTypes.types
@@ -1,6 +1,6 @@
 === tests/cases/conformance/types/typeAliases/classDoesNotDependOnBaseTypes.ts ===
 type StringTree = string | StringTreeCollection;
->StringTree : StringTree
+>StringTree : string | StringTreeCollection
 
 class StringTreeCollectionBase {
 >StringTreeCollectionBase : StringTreeCollectionBase
diff --git a/tests/baselines/reference/classPropertyErrorOnNameOnly.types b/tests/baselines/reference/classPropertyErrorOnNameOnly.types
index 4dece714b92b3..232ca92cd000b 100644
--- a/tests/baselines/reference/classPropertyErrorOnNameOnly.types
+++ b/tests/baselines/reference/classPropertyErrorOnNameOnly.types
@@ -1,9 +1,9 @@
 === tests/cases/compiler/classPropertyErrorOnNameOnly.ts ===
 type Values = 1 | 2 | 3 | 4 | 5 | 6
->Values : Values
+>Values : 1 | 2 | 3 | 4 | 5 | 6
 
 type FuncType = (arg: Values) => string
->FuncType : FuncType
+>FuncType : (arg: Values) => string
 >arg : Values
 
 // turn on strictNullChecks
diff --git a/tests/baselines/reference/coAndContraVariantInferences.types b/tests/baselines/reference/coAndContraVariantInferences.types
index b8d48b413397f..33ef1c87d4806 100644
--- a/tests/baselines/reference/coAndContraVariantInferences.types
+++ b/tests/baselines/reference/coAndContraVariantInferences.types
@@ -1,10 +1,10 @@
 === tests/cases/compiler/coAndContraVariantInferences.ts ===
 type A = { kind: 'a' };
->A : A
+>A : { kind: 'a'; }
 >kind : "a"
 
 type B = { kind: 'b' };
->B : B
+>B : { kind: 'b'; }
 >kind : "b"
 
 declare const a: A;
diff --git a/tests/baselines/reference/comparisonOperatorWithNumericLiteral.types b/tests/baselines/reference/comparisonOperatorWithNumericLiteral.types
index ae32097c462c3..4ebbecbc555e8 100644
--- a/tests/baselines/reference/comparisonOperatorWithNumericLiteral.types
+++ b/tests/baselines/reference/comparisonOperatorWithNumericLiteral.types
@@ -1,6 +1,6 @@
 === tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithNumericLiteral.ts ===
 type BrandedNum = number & { __numberBrand: any };
->BrandedNum : BrandedNum
+>BrandedNum : number & { __numberBrand: any; }
 >__numberBrand : any
 
 var x : BrandedNum;
diff --git a/tests/baselines/reference/complicatedIndexedAccessKeyofReliesOnKeyofNeverUpperBound.types b/tests/baselines/reference/complicatedIndexedAccessKeyofReliesOnKeyofNeverUpperBound.types
index 0132151408814..a499495da42c2 100644
--- a/tests/baselines/reference/complicatedIndexedAccessKeyofReliesOnKeyofNeverUpperBound.types
+++ b/tests/baselines/reference/complicatedIndexedAccessKeyofReliesOnKeyofNeverUpperBound.types
@@ -22,7 +22,7 @@ interface EmailChannel {
 }
 
 type Channel = TextChannel | EmailChannel;
->Channel : Channel
+>Channel : TextChannel | EmailChannel
 
 export type ChannelType = Channel extends { type: infer R } ? R : never;
 >ChannelType : "text" | "email"
diff --git a/tests/baselines/reference/computedPropertyName.types b/tests/baselines/reference/computedPropertyName.types
index caab943f248ec..98722138b8c32 100644
--- a/tests/baselines/reference/computedPropertyName.types
+++ b/tests/baselines/reference/computedPropertyName.types
@@ -16,7 +16,7 @@ interface Component {
 }
 
 type T = {
->T : T
+>T : { [onInit]: any; }
 
   [onInit]: any;
 >[onInit] : any
diff --git a/tests/baselines/reference/computedTypesKeyofNoIndexSignatureType.types b/tests/baselines/reference/computedTypesKeyofNoIndexSignatureType.types
index 6adec9195f253..ecf52ba235433 100644
--- a/tests/baselines/reference/computedTypesKeyofNoIndexSignatureType.types
+++ b/tests/baselines/reference/computedTypesKeyofNoIndexSignatureType.types
@@ -18,11 +18,11 @@ type OmitIndex<T, I extends string | number> = {
 };
 
 type IndexObject = { [key: string]: unknown; };
->IndexObject : IndexObject
+>IndexObject : { [key: string]: unknown; }
 >key : string
 
 type FooBar = { foo: "hello"; bar: "world"; };
->FooBar : FooBar
+>FooBar : { foo: "hello"; bar: "world"; }
 >foo : "hello"
 >bar : "world"
 
diff --git a/tests/baselines/reference/conditionalTypeDiscriminatingLargeUnionRegularTypeFetchingSpeedReasonable.types b/tests/baselines/reference/conditionalTypeDiscriminatingLargeUnionRegularTypeFetchingSpeedReasonable.types
index a4709500c7789..50391d7c0dc3d 100644
--- a/tests/baselines/reference/conditionalTypeDiscriminatingLargeUnionRegularTypeFetchingSpeedReasonable.types
+++ b/tests/baselines/reference/conditionalTypeDiscriminatingLargeUnionRegularTypeFetchingSpeedReasonable.types
@@ -1,6 +1,6 @@
 === tests/cases/compiler/conditionalTypeDiscriminatingLargeUnionRegularTypeFetchingSpeedReasonable.ts ===
 type BigUnion =
->BigUnion : BigUnion
+>BigUnion : { name: '0'; children: BigUnion[]; } | { name: '1'; children: BigUnion[]; } | { name: '2'; children: BigUnion[]; } | { name: '3'; children: BigUnion[]; } | { name: '4'; children: BigUnion[]; } | { name: '5'; children: BigUnion[]; } | { name: '6'; children: BigUnion[]; } | { name: '7'; children: BigUnion[]; } | { name: '8'; children: BigUnion[]; } | { name: '9'; children: BigUnion[]; } | { name: '10'; children: BigUnion[]; } | { name: '11'; children: BigUnion[]; } | { name: '12'; children: BigUnion[]; } | { name: '13'; children: BigUnion[]; } | { name: '14'; children: BigUnion[]; } | { name: '15'; children: BigUnion[]; } | { name: '16'; children: BigUnion[]; } | { name: '17'; children: BigUnion[]; } | { name: '18'; children: BigUnion[]; } | { name: '19'; children: BigUnion[]; } | { name: '20'; children: BigUnion[]; } | { name: '21'; children: BigUnion[]; } | { name: '22'; children: BigUnion[]; } | { name: '23'; children: BigUnion[]; } | { name: '24'; children: BigUnion[]; } | { name: '25'; children: BigUnion[]; } | { name: '26'; children: BigUnion[]; } | { name: '27'; children: BigUnion[]; } | { name: '28'; children: BigUnion[]; } | { name: '29'; children: BigUnion[]; } | { name: '30'; children: BigUnion[]; } | { name: '31'; children: BigUnion[]; } | { name: '32'; children: BigUnion[]; } | { name: '33'; children: BigUnion[]; } | { name: '34'; children: BigUnion[]; } | { name: '35'; children: BigUnion[]; } | { name: '36'; children: BigUnion[]; } | { name: '37'; children: BigUnion[]; } | { name: '38'; children: BigUnion[]; } | { name: '39'; children: BigUnion[]; } | { name: '40'; children: BigUnion[]; } | { name: '41'; children: BigUnion[]; } | { name: '42'; children: BigUnion[]; } | { name: '43'; children: BigUnion[]; } | { name: '44'; children: BigUnion[]; } | { name: '45'; children: BigUnion[]; } | { name: '46'; children: BigUnion[]; } | { name: '47'; children: BigUnion[]; } | { name: '48'; children: BigUnion[]; } | { name: '49'; children: BigUnion[]; } | { name: '50'; children: BigUnion[]; } | { name: '51'; children: BigUnion[]; } | { name: '52'; children: BigUnion[]; } | { name: '53'; children: BigUnion[]; } | { name: '54'; children: BigUnion[]; } | { name: '55'; children: BigUnion[]; } | { name: '56'; children: BigUnion[]; } | { name: '57'; children: BigUnion[]; } | { name: '58'; children: BigUnion[]; } | { name: '59'; children: BigUnion[]; } | { name: '60'; children: BigUnion[]; } | { name: '61'; children: BigUnion[]; } | { name: '62'; children: BigUnion[]; } | { name: '63'; children: BigUnion[]; } | { name: '64'; children: BigUnion[]; } | { name: '65'; children: BigUnion[]; } | { name: '66'; children: BigUnion[]; } | { name: '67'; children: BigUnion[]; } | { name: '68'; children: BigUnion[]; } | { name: '69'; children: BigUnion[]; } | { name: '70'; children: BigUnion[]; } | { name: '71'; children: BigUnion[]; } | { name: '72'; children: BigUnion[]; } | { name: '73'; children: BigUnion[]; } | { name: '74'; children: BigUnion[]; } | { name: '75'; children: BigUnion[]; } | { name: '76'; children: BigUnion[]; } | { name: '77'; children: BigUnion[]; } | { name: '78'; children: BigUnion[]; } | { name: '79'; children: BigUnion[]; } | { name: '80'; children: BigUnion[]; } | { name: '81'; children: BigUnion[]; } | { name: '82'; children: BigUnion[]; } | { name: '83'; children: BigUnion[]; } | { name: '84'; children: BigUnion[]; } | { name: '85'; children: BigUnion[]; } | { name: '86'; children: BigUnion[]; } | { name: '87'; children: BigUnion[]; } | { name: '88'; children: BigUnion[]; } | { name: '89'; children: BigUnion[]; } | { name: '90'; children: BigUnion[]; } | { name: '91'; children: BigUnion[]; } | { name: '92'; children: BigUnion[]; } | { name: '93'; children: BigUnion[]; } | { name: '94'; children: BigUnion[]; } | { name: '95'; children: BigUnion[]; } | { name: '96'; children: BigUnion[]; } | { name: '97'; children: BigUnion[]; } | { name: '98'; children: BigUnion[]; } | { name: '99'; children: BigUnion[]; } | { name: '100'; children: BigUnion[]; } | { name: '101'; children: BigUnion[]; } | { name: '102'; children: BigUnion[]; } | { name: '103'; children: BigUnion[]; } | { name: '104'; children: BigUnion[]; } | { name: '105'; children: BigUnion[]; } | { name: '106'; children: BigUnion[]; } | { name: '107'; children: BigUnion[]; } | { name: '108'; children: BigUnion[]; } | { name: '109'; children: BigUnion[]; } | { name: '110'; children: BigUnion[]; } | { name: '111'; children: BigUnion[]; } | { name: '112'; children: BigUnion[]; } | { name: '113'; children: BigUnion[]; } | { name: '114'; children: BigUnion[]; } | { name: '115'; children: BigUnion[]; } | { name: '116'; children: BigUnion[]; } | { name: '117'; children: BigUnion[]; } | { name: '118'; children: BigUnion[]; } | { name: '119'; children: BigUnion[]; } | { name: '120'; children: BigUnion[]; } | { name: '121'; children: BigUnion[]; } | { name: '122'; children: BigUnion[]; } | { name: '123'; children: BigUnion[]; } | { name: '124'; children: BigUnion[]; } | { name: '125'; children: BigUnion[]; } | { name: '126'; children: BigUnion[]; } | { name: '127'; children: BigUnion[]; } | { name: '128'; children: BigUnion[]; } | { name: '129'; children: BigUnion[]; } | { name: '130'; children: BigUnion[]; } | { name: '131'; children: BigUnion[]; } | { name: '132'; children: BigUnion[]; } | { name: '133'; children: BigUnion[]; } | { name: '134'; children: BigUnion[]; } | { name: '135'; children: BigUnion[]; } | { name: '136'; children: BigUnion[]; } | { name: '137'; children: BigUnion[]; } | { name: '138'; children: BigUnion[]; } | { name: '139'; children: BigUnion[]; } | { name: '140'; children: BigUnion[]; } | { name: '141'; children: BigUnion[]; } | { name: '142'; children: BigUnion[]; } | { name: '143'; children: BigUnion[]; } | { name: '144'; children: BigUnion[]; } | { name: '145'; children: BigUnion[]; } | { name: '146'; children: BigUnion[]; } | { name: '147'; children: BigUnion[]; } | { name: '148'; children: BigUnion[]; } | { name: '149'; children: BigUnion[]; } | { name: '150'; children: BigUnion[]; } | { name: '151'; children: BigUnion[]; } | { name: '152'; children: BigUnion[]; } | { name: '153'; children: BigUnion[]; } | { name: '154'; children: BigUnion[]; } | { name: '155'; children: BigUnion[]; } | { name: '156'; children: BigUnion[]; } | { name: '157'; children: BigUnion[]; } | { name: '158'; children: BigUnion[]; } | { name: '159'; children: BigUnion[]; } | { name: '160'; children: BigUnion[]; } | { name: '161'; children: BigUnion[]; } | { name: '162'; children: BigUnion[]; } | { name: '163'; children: BigUnion[]; } | { name: '164'; children: BigUnion[]; } | { name: '165'; children: BigUnion[]; } | { name: '166'; children: BigUnion[]; } | { name: '167'; children: BigUnion[]; } | { name: '168'; children: BigUnion[]; } | { name: '169'; children: BigUnion[]; } | { name: '170'; children: BigUnion[]; } | { name: '171'; children: BigUnion[]; } | { name: '172'; children: BigUnion[]; } | { name: '173'; children: BigUnion[]; } | { name: '174'; children: BigUnion[]; } | { name: '175'; children: BigUnion[]; } | { name: '176'; children: BigUnion[]; } | { name: '177'; children: BigUnion[]; } | { name: '178'; children: BigUnion[]; } | { name: '179'; children: BigUnion[]; } | { name: '180'; children: BigUnion[]; } | { name: '181'; children: BigUnion[]; } | { name: '182'; children: BigUnion[]; } | { name: '183'; children: BigUnion[]; } | { name: '184'; children: BigUnion[]; } | { name: '185'; children: BigUnion[]; } | { name: '186'; children: BigUnion[]; } | { name: '187'; children: BigUnion[]; } | { name: '188'; children: BigUnion[]; } | { name: '189'; children: BigUnion[]; } | { name: '190'; children: BigUnion[]; } | { name: '191'; children: BigUnion[]; } | { name: '192'; children: BigUnion[]; } | { name: '193'; children: BigUnion[]; } | { name: '194'; children: BigUnion[]; } | { name: '195'; children: BigUnion[]; } | { name: '196'; children: BigUnion[]; } | { name: '197'; children: BigUnion[]; } | { name: '198'; children: BigUnion[]; } | { name: '199'; children: BigUnion[]; } | { name: '200'; children: BigUnion[]; } | { name: '201'; children: BigUnion[]; } | { name: '202'; children: BigUnion[]; } | { name: '203'; children: BigUnion[]; } | { name: '204'; children: BigUnion[]; } | { name: '205'; children: BigUnion[]; } | { name: '206'; children: BigUnion[]; } | { name: '207'; children: BigUnion[]; } | { name: '208'; children: BigUnion[]; } | { name: '209'; children: BigUnion[]; } | { name: '210'; children: BigUnion[]; } | { name: '211'; children: BigUnion[]; } | { name: '212'; children: BigUnion[]; } | { name: '213'; children: BigUnion[]; } | { name: '214'; children: BigUnion[]; } | { name: '215'; children: BigUnion[]; } | { name: '216'; children: BigUnion[]; } | { name: '217'; children: BigUnion[]; } | { name: '218'; children: BigUnion[]; } | { name: '219'; children: BigUnion[]; } | { name: '220'; children: BigUnion[]; } | { name: '221'; children: BigUnion[]; } | { name: '222'; children: BigUnion[]; } | { name: '223'; children: BigUnion[]; } | { name: '224'; children: BigUnion[]; } | { name: '225'; children: BigUnion[]; } | { name: '226'; children: BigUnion[]; } | { name: '227'; children: BigUnion[]; } | { name: '228'; children: BigUnion[]; } | { name: '229'; children: BigUnion[]; } | { name: '230'; children: BigUnion[]; } | { name: '231'; children: BigUnion[]; } | { name: '232'; children: BigUnion[]; } | { name: '233'; children: BigUnion[]; } | { name: '234'; children: BigUnion[]; } | { name: '235'; children: BigUnion[]; } | { name: '236'; children: BigUnion[]; } | { name: '237'; children: BigUnion[]; } | { name: '238'; children: BigUnion[]; } | { name: '239'; children: BigUnion[]; } | { name: '240'; children: BigUnion[]; } | { name: '241'; children: BigUnion[]; } | { name: '242'; children: BigUnion[]; } | { name: '243'; children: BigUnion[]; } | { name: '244'; children: BigUnion[]; } | { name: '245'; children: BigUnion[]; } | { name: '246'; children: BigUnion[]; } | { name: '247'; children: BigUnion[]; } | { name: '248'; children: BigUnion[]; } | { name: '249'; children: BigUnion[]; } | { name: '250'; children: BigUnion[]; } | { name: '251'; children: BigUnion[]; } | { name: '252'; children: BigUnion[]; } | { name: '253'; children: BigUnion[]; } | { name: '254'; children: BigUnion[]; } | { name: '255'; children: BigUnion[]; } | { name: '256'; children: BigUnion[]; } | { name: '257'; children: BigUnion[]; } | { name: '258'; children: BigUnion[]; } | { name: '259'; children: BigUnion[]; } | { name: '260'; children: BigUnion[]; } | { name: '261'; children: BigUnion[]; } | { name: '262'; children: BigUnion[]; } | { name: '263'; children: BigUnion[]; } | { name: '264'; children: BigUnion[]; } | { name: '265'; children: BigUnion[]; } | { name: '266'; children: BigUnion[]; } | { name: '267'; children: BigUnion[]; } | { name: '268'; children: BigUnion[]; } | { name: '269'; children: BigUnion[]; } | { name: '270'; children: BigUnion[]; } | { name: '271'; children: BigUnion[]; } | { name: '272'; children: BigUnion[]; } | { name: '273'; children: BigUnion[]; } | { name: '274'; children: BigUnion[]; } | { name: '275'; children: BigUnion[]; } | { name: '276'; children: BigUnion[]; } | { name: '277'; children: BigUnion[]; } | { name: '278'; children: BigUnion[]; } | { name: '279'; children: BigUnion[]; } | { name: '280'; children: BigUnion[]; } | { name: '281'; children: BigUnion[]; } | { name: '282'; children: BigUnion[]; } | { name: '283'; children: BigUnion[]; } | { name: '284'; children: BigUnion[]; } | { name: '285'; children: BigUnion[]; } | { name: '286'; children: BigUnion[]; } | { name: '287'; children: BigUnion[]; } | { name: '288'; children: BigUnion[]; } | { name: '289'; children: BigUnion[]; } | { name: '290'; children: BigUnion[]; } | { name: '291'; children: BigUnion[]; } | { name: '292'; children: BigUnion[]; } | { name: '293'; children: BigUnion[]; } | { name: '294'; children: BigUnion[]; } | { name: '295'; children: BigUnion[]; } | { name: '296'; children: BigUnion[]; } | { name: '297'; children: BigUnion[]; } | { name: '298'; children: BigUnion[]; } | { name: '299'; children: BigUnion[]; } | { name: '300'; children: BigUnion[]; } | { name: '301'; children: BigUnion[]; } | { name: '302'; children: BigUnion[]; } | { name: '303'; children: BigUnion[]; } | { name: '304'; children: BigUnion[]; } | { name: '305'; children: BigUnion[]; } | { name: '306'; children: BigUnion[]; } | { name: '307'; children: BigUnion[]; } | { name: '308'; children: BigUnion[]; } | { name: '309'; children: BigUnion[]; } | { name: '310'; children: BigUnion[]; } | { name: '311'; children: BigUnion[]; } | { name: '312'; children: BigUnion[]; } | { name: '313'; children: BigUnion[]; } | { name: '314'; children: BigUnion[]; } | { name: '315'; children: BigUnion[]; } | { name: '316'; children: BigUnion[]; } | { name: '317'; children: BigUnion[]; } | { name: '318'; children: BigUnion[]; } | { name: '319'; children: BigUnion[]; } | { name: '320'; children: BigUnion[]; } | { name: '321'; children: BigUnion[]; } | { name: '322'; children: BigUnion[]; } | { name: '323'; children: BigUnion[]; } | { name: '324'; children: BigUnion[]; } | { name: '325'; children: BigUnion[]; } | { name: '326'; children: BigUnion[]; } | { name: '327'; children: BigUnion[]; } | { name: '328'; children: BigUnion[]; } | { name: '329'; children: BigUnion[]; } | { name: '330'; children: BigUnion[]; } | { name: '331'; children: BigUnion[]; } | { name: '332'; children: BigUnion[]; } | { name: '333'; children: BigUnion[]; } | { name: '334'; children: BigUnion[]; } | { name: '335'; children: BigUnion[]; } | { name: '336'; children: BigUnion[]; } | { name: '337'; children: BigUnion[]; } | { name: '338'; children: BigUnion[]; } | { name: '339'; children: BigUnion[]; } | { name: '340'; children: BigUnion[]; } | { name: '341'; children: BigUnion[]; } | { name: '342'; children: BigUnion[]; } | { name: '343'; children: BigUnion[]; } | { name: '344'; children: BigUnion[]; } | { name: '345'; children: BigUnion[]; } | { name: '346'; children: BigUnion[]; } | { name: '347'; children: BigUnion[]; } | { name: '348'; children: BigUnion[]; } | { name: '349'; children: BigUnion[]; } | { name: '350'; children: BigUnion[]; } | { name: '351'; children: BigUnion[]; } | { name: '352'; children: BigUnion[]; } | { name: '353'; children: BigUnion[]; } | { name: '354'; children: BigUnion[]; } | { name: '355'; children: BigUnion[]; } | { name: '356'; children: BigUnion[]; } | { name: '357'; children: BigUnion[]; } | { name: '358'; children: BigUnion[]; } | { name: '359'; children: BigUnion[]; } | { name: '360'; children: BigUnion[]; } | { name: '361'; children: BigUnion[]; } | { name: '362'; children: BigUnion[]; } | { name: '363'; children: BigUnion[]; } | { name: '364'; children: BigUnion[]; } | { name: '365'; children: BigUnion[]; } | { name: '366'; children: BigUnion[]; } | { name: '367'; children: BigUnion[]; } | { name: '368'; children: BigUnion[]; } | { name: '369'; children: BigUnion[]; } | { name: '370'; children: BigUnion[]; } | { name: '371'; children: BigUnion[]; } | { name: '372'; children: BigUnion[]; } | { name: '373'; children: BigUnion[]; } | { name: '374'; children: BigUnion[]; } | { name: '375'; children: BigUnion[]; } | { name: '376'; children: BigUnion[]; } | { name: '377'; children: BigUnion[]; } | { name: '378'; children: BigUnion[]; } | { name: '379'; children: BigUnion[]; } | { name: '380'; children: BigUnion[]; } | { name: '381'; children: BigUnion[]; } | { name: '382'; children: BigUnion[]; } | { name: '383'; children: BigUnion[]; } | { name: '384'; children: BigUnion[]; } | { name: '385'; children: BigUnion[]; } | { name: '386'; children: BigUnion[]; } | { name: '387'; children: BigUnion[]; } | { name: '388'; children: BigUnion[]; } | { name: '389'; children: BigUnion[]; } | { name: '390'; children: BigUnion[]; } | { name: '391'; children: BigUnion[]; } | { name: '392'; children: BigUnion[]; } | { name: '393'; children: BigUnion[]; } | { name: '394'; children: BigUnion[]; } | { name: '395'; children: BigUnion[]; } | { name: '396'; children: BigUnion[]; } | { name: '397'; children: BigUnion[]; } | { name: '398'; children: BigUnion[]; } | { name: '399'; children: BigUnion[]; } | { name: '400'; children: BigUnion[]; } | { name: '401'; children: BigUnion[]; } | { name: '402'; children: BigUnion[]; } | { name: '403'; children: BigUnion[]; } | { name: '404'; children: BigUnion[]; } | { name: '405'; children: BigUnion[]; } | { name: '406'; children: BigUnion[]; } | { name: '407'; children: BigUnion[]; } | { name: '408'; children: BigUnion[]; } | { name: '409'; children: BigUnion[]; } | { name: '410'; children: BigUnion[]; } | { name: '411'; children: BigUnion[]; } | { name: '412'; children: BigUnion[]; } | { name: '413'; children: BigUnion[]; } | { name: '414'; children: BigUnion[]; } | { name: '415'; children: BigUnion[]; } | { name: '416'; children: BigUnion[]; } | { name: '417'; children: BigUnion[]; } | { name: '418'; children: BigUnion[]; } | { name: '419'; children: BigUnion[]; } | { name: '420'; children: BigUnion[]; } | { name: '421'; children: BigUnion[]; } | { name: '422'; children: BigUnion[]; } | { name: '423'; children: BigUnion[]; } | { name: '424'; children: BigUnion[]; } | { name: '425'; children: BigUnion[]; } | { name: '426'; children: BigUnion[]; } | { name: '427'; children: BigUnion[]; } | { name: '428'; children: BigUnion[]; } | { name: '429'; children: BigUnion[]; } | { name: '430'; children: BigUnion[]; } | { name: '431'; children: BigUnion[]; } | { name: '432'; children: BigUnion[]; } | { name: '433'; children: BigUnion[]; } | { name: '434'; children: BigUnion[]; } | { name: '435'; children: BigUnion[]; } | { name: '436'; children: BigUnion[]; } | { name: '437'; children: BigUnion[]; } | { name: '438'; children: BigUnion[]; } | { name: '439'; children: BigUnion[]; } | { name: '440'; children: BigUnion[]; } | { name: '441'; children: BigUnion[]; } | { name: '442'; children: BigUnion[]; } | { name: '443'; children: BigUnion[]; } | { name: '444'; children: BigUnion[]; } | { name: '445'; children: BigUnion[]; } | { name: '446'; children: BigUnion[]; } | { name: '447'; children: BigUnion[]; } | { name: '448'; children: BigUnion[]; } | { name: '449'; children: BigUnion[]; } | { name: '450'; children: BigUnion[]; } | { name: '451'; children: BigUnion[]; } | { name: '452'; children: BigUnion[]; } | { name: '453'; children: BigUnion[]; } | { name: '454'; children: BigUnion[]; } | { name: '455'; children: BigUnion[]; } | { name: '456'; children: BigUnion[]; } | { name: '457'; children: BigUnion[]; } | { name: '458'; children: BigUnion[]; } | { name: '459'; children: BigUnion[]; } | { name: '460'; children: BigUnion[]; } | { name: '461'; children: BigUnion[]; } | { name: '462'; children: BigUnion[]; } | { name: '463'; children: BigUnion[]; } | { name: '464'; children: BigUnion[]; } | { name: '465'; children: BigUnion[]; } | { name: '466'; children: BigUnion[]; } | { name: '467'; children: BigUnion[]; } | { name: '468'; children: BigUnion[]; } | { name: '469'; children: BigUnion[]; } | { name: '470'; children: BigUnion[]; } | { name: '471'; children: BigUnion[]; } | { name: '472'; children: BigUnion[]; } | { name: '473'; children: BigUnion[]; } | { name: '474'; children: BigUnion[]; } | { name: '475'; children: BigUnion[]; } | { name: '476'; children: BigUnion[]; } | { name: '477'; children: BigUnion[]; } | { name: '478'; children: BigUnion[]; } | { name: '479'; children: BigUnion[]; } | { name: '480'; children: BigUnion[]; } | { name: '481'; children: BigUnion[]; } | { name: '482'; children: BigUnion[]; } | { name: '483'; children: BigUnion[]; } | { name: '484'; children: BigUnion[]; } | { name: '485'; children: BigUnion[]; } | { name: '486'; children: BigUnion[]; } | { name: '487'; children: BigUnion[]; } | { name: '488'; children: BigUnion[]; } | { name: '489'; children: BigUnion[]; } | { name: '490'; children: BigUnion[]; } | { name: '491'; children: BigUnion[]; } | { name: '492'; children: BigUnion[]; } | { name: '493'; children: BigUnion[]; } | { name: '494'; children: BigUnion[]; } | { name: '495'; children: BigUnion[]; } | { name: '496'; children: BigUnion[]; } | { name: '497'; children: BigUnion[]; } | { name: '498'; children: BigUnion[]; } | { name: '499'; children: BigUnion[]; } | { name: '500'; children: BigUnion[]; } | { name: '501'; children: BigUnion[]; } | { name: '502'; children: BigUnion[]; } | { name: '503'; children: BigUnion[]; } | { name: '504'; children: BigUnion[]; } | { name: '505'; children: BigUnion[]; } | { name: '506'; children: BigUnion[]; } | { name: '507'; children: BigUnion[]; } | { name: '508'; children: BigUnion[]; } | { name: '509'; children: BigUnion[]; } | { name: '510'; children: BigUnion[]; } | { name: '511'; children: BigUnion[]; } | { name: '512'; children: BigUnion[]; } | { name: '513'; children: BigUnion[]; } | { name: '514'; children: BigUnion[]; } | { name: '515'; children: BigUnion[]; } | { name: '516'; children: BigUnion[]; } | { name: '517'; children: BigUnion[]; } | { name: '518'; children: BigUnion[]; } | { name: '519'; children: BigUnion[]; } | { name: '520'; children: BigUnion[]; } | { name: '521'; children: BigUnion[]; } | { name: '522'; children: BigUnion[]; } | { name: '523'; children: BigUnion[]; } | { name: '524'; children: BigUnion[]; } | { name: '525'; children: BigUnion[]; } | { name: '526'; children: BigUnion[]; } | { name: '527'; children: BigUnion[]; } | { name: '528'; children: BigUnion[]; } | { name: '529'; children: BigUnion[]; } | { name: '530'; children: BigUnion[]; } | { name: '531'; children: BigUnion[]; } | { name: '532'; children: BigUnion[]; } | { name: '533'; children: BigUnion[]; } | { name: '534'; children: BigUnion[]; } | { name: '535'; children: BigUnion[]; } | { name: '536'; children: BigUnion[]; } | { name: '537'; children: BigUnion[]; } | { name: '538'; children: BigUnion[]; } | { name: '539'; children: BigUnion[]; } | { name: '540'; children: BigUnion[]; } | { name: '541'; children: BigUnion[]; } | { name: '542'; children: BigUnion[]; } | { name: '543'; children: BigUnion[]; } | { name: '544'; children: BigUnion[]; } | { name: '545'; children: BigUnion[]; } | { name: '546'; children: BigUnion[]; } | { name: '547'; children: BigUnion[]; } | { name: '548'; children: BigUnion[]; } | { name: '549'; children: BigUnion[]; } | { name: '550'; children: BigUnion[]; } | { name: '551'; children: BigUnion[]; } | { name: '552'; children: BigUnion[]; } | { name: '553'; children: BigUnion[]; } | { name: '554'; children: BigUnion[]; } | { name: '555'; children: BigUnion[]; } | { name: '556'; children: BigUnion[]; } | { name: '557'; children: BigUnion[]; } | { name: '558'; children: BigUnion[]; } | { name: '559'; children: BigUnion[]; } | { name: '560'; children: BigUnion[]; } | { name: '561'; children: BigUnion[]; } | { name: '562'; children: BigUnion[]; } | { name: '563'; children: BigUnion[]; } | { name: '564'; children: BigUnion[]; } | { name: '565'; children: BigUnion[]; } | { name: '566'; children: BigUnion[]; } | { name: '567'; children: BigUnion[]; } | { name: '568'; children: BigUnion[]; } | { name: '569'; children: BigUnion[]; } | { name: '570'; children: BigUnion[]; } | { name: '571'; children: BigUnion[]; } | { name: '572'; children: BigUnion[]; } | { name: '573'; children: BigUnion[]; } | { name: '574'; children: BigUnion[]; } | { name: '575'; children: BigUnion[]; } | { name: '576'; children: BigUnion[]; } | { name: '577'; children: BigUnion[]; } | { name: '578'; children: BigUnion[]; } | { name: '579'; children: BigUnion[]; } | { name: '580'; children: BigUnion[]; } | { name: '581'; children: BigUnion[]; } | { name: '582'; children: BigUnion[]; } | { name: '583'; children: BigUnion[]; } | { name: '584'; children: BigUnion[]; } | { name: '585'; children: BigUnion[]; } | { name: '586'; children: BigUnion[]; } | { name: '587'; children: BigUnion[]; } | { name: '588'; children: BigUnion[]; } | { name: '589'; children: BigUnion[]; } | { name: '590'; children: BigUnion[]; } | { name: '591'; children: BigUnion[]; } | { name: '592'; children: BigUnion[]; } | { name: '593'; children: BigUnion[]; } | { name: '594'; children: BigUnion[]; } | { name: '595'; children: BigUnion[]; } | { name: '596'; children: BigUnion[]; } | { name: '597'; children: BigUnion[]; } | { name: '598'; children: BigUnion[]; } | { name: '599'; children: BigUnion[]; } | { name: '600'; children: BigUnion[]; } | { name: '601'; children: BigUnion[]; } | { name: '602'; children: BigUnion[]; } | { name: '603'; children: BigUnion[]; } | { name: '604'; children: BigUnion[]; } | { name: '605'; children: BigUnion[]; } | { name: '606'; children: BigUnion[]; } | { name: '607'; children: BigUnion[]; } | { name: '608'; children: BigUnion[]; } | { name: '609'; children: BigUnion[]; } | { name: '610'; children: BigUnion[]; } | { name: '611'; children: BigUnion[]; } | { name: '612'; children: BigUnion[]; } | { name: '613'; children: BigUnion[]; } | { name: '614'; children: BigUnion[]; } | { name: '615'; children: BigUnion[]; } | { name: '616'; children: BigUnion[]; } | { name: '617'; children: BigUnion[]; } | { name: '618'; children: BigUnion[]; } | { name: '619'; children: BigUnion[]; } | { name: '620'; children: BigUnion[]; } | { name: '621'; children: BigUnion[]; } | { name: '622'; children: BigUnion[]; } | { name: '623'; children: BigUnion[]; } | { name: '624'; children: BigUnion[]; } | { name: '625'; children: BigUnion[]; } | { name: '626'; children: BigUnion[]; } | { name: '627'; children: BigUnion[]; } | { name: '628'; children: BigUnion[]; } | { name: '629'; children: BigUnion[]; } | { name: '630'; children: BigUnion[]; } | { name: '631'; children: BigUnion[]; } | { name: '632'; children: BigUnion[]; } | { name: '633'; children: BigUnion[]; } | { name: '634'; children: BigUnion[]; } | { name: '635'; children: BigUnion[]; } | { name: '636'; children: BigUnion[]; } | { name: '637'; children: BigUnion[]; } | { name: '638'; children: BigUnion[]; } | { name: '639'; children: BigUnion[]; } | { name: '640'; children: BigUnion[]; } | { name: '641'; children: BigUnion[]; } | { name: '642'; children: BigUnion[]; } | { name: '643'; children: BigUnion[]; } | { name: '644'; children: BigUnion[]; } | { name: '645'; children: BigUnion[]; } | { name: '646'; children: BigUnion[]; } | { name: '647'; children: BigUnion[]; } | { name: '648'; children: BigUnion[]; } | { name: '649'; children: BigUnion[]; } | { name: '650'; children: BigUnion[]; } | { name: '651'; children: BigUnion[]; } | { name: '652'; children: BigUnion[]; } | { name: '653'; children: BigUnion[]; } | { name: '654'; children: BigUnion[]; } | { name: '655'; children: BigUnion[]; } | { name: '656'; children: BigUnion[]; } | { name: '657'; children: BigUnion[]; } | { name: '658'; children: BigUnion[]; } | { name: '659'; children: BigUnion[]; } | { name: '660'; children: BigUnion[]; } | { name: '661'; children: BigUnion[]; } | { name: '662'; children: BigUnion[]; } | { name: '663'; children: BigUnion[]; } | { name: '664'; children: BigUnion[]; } | { name: '665'; children: BigUnion[]; } | { name: '666'; children: BigUnion[]; } | { name: '667'; children: BigUnion[]; } | { name: '668'; children: BigUnion[]; } | { name: '669'; children: BigUnion[]; } | { name: '670'; children: BigUnion[]; } | { name: '671'; children: BigUnion[]; } | { name: '672'; children: BigUnion[]; } | { name: '673'; children: BigUnion[]; } | { name: '674'; children: BigUnion[]; } | { name: '675'; children: BigUnion[]; } | { name: '676'; children: BigUnion[]; } | { name: '677'; children: BigUnion[]; } | { name: '678'; children: BigUnion[]; } | { name: '679'; children: BigUnion[]; } | { name: '680'; children: BigUnion[]; } | { name: '681'; children: BigUnion[]; } | { name: '682'; children: BigUnion[]; } | { name: '683'; children: BigUnion[]; } | { name: '684'; children: BigUnion[]; } | { name: '685'; children: BigUnion[]; } | { name: '686'; children: BigUnion[]; } | { name: '687'; children: BigUnion[]; } | { name: '688'; children: BigUnion[]; } | { name: '689'; children: BigUnion[]; } | { name: '690'; children: BigUnion[]; } | { name: '691'; children: BigUnion[]; } | { name: '692'; children: BigUnion[]; } | { name: '693'; children: BigUnion[]; } | { name: '694'; children: BigUnion[]; } | { name: '695'; children: BigUnion[]; } | { name: '696'; children: BigUnion[]; } | { name: '697'; children: BigUnion[]; } | { name: '698'; children: BigUnion[]; } | { name: '699'; children: BigUnion[]; } | { name: '700'; children: BigUnion[]; } | { name: '701'; children: BigUnion[]; } | { name: '702'; children: BigUnion[]; } | { name: '703'; children: BigUnion[]; } | { name: '704'; children: BigUnion[]; } | { name: '705'; children: BigUnion[]; } | { name: '706'; children: BigUnion[]; } | { name: '707'; children: BigUnion[]; } | { name: '708'; children: BigUnion[]; } | { name: '709'; children: BigUnion[]; } | { name: '710'; children: BigUnion[]; } | { name: '711'; children: BigUnion[]; } | { name: '712'; children: BigUnion[]; } | { name: '713'; children: BigUnion[]; } | { name: '714'; children: BigUnion[]; } | { name: '715'; children: BigUnion[]; } | { name: '716'; children: BigUnion[]; } | { name: '717'; children: BigUnion[]; } | { name: '718'; children: BigUnion[]; } | { name: '719'; children: BigUnion[]; } | { name: '720'; children: BigUnion[]; } | { name: '721'; children: BigUnion[]; } | { name: '722'; children: BigUnion[]; } | { name: '723'; children: BigUnion[]; } | { name: '724'; children: BigUnion[]; } | { name: '725'; children: BigUnion[]; } | { name: '726'; children: BigUnion[]; } | { name: '727'; children: BigUnion[]; } | { name: '728'; children: BigUnion[]; } | { name: '729'; children: BigUnion[]; } | { name: '730'; children: BigUnion[]; } | { name: '731'; children: BigUnion[]; } | { name: '732'; children: BigUnion[]; } | { name: '733'; children: BigUnion[]; } | { name: '734'; children: BigUnion[]; } | { name: '735'; children: BigUnion[]; } | { name: '736'; children: BigUnion[]; } | { name: '737'; children: BigUnion[]; } | { name: '738'; children: BigUnion[]; } | { name: '739'; children: BigUnion[]; } | { name: '740'; children: BigUnion[]; } | { name: '741'; children: BigUnion[]; } | { name: '742'; children: BigUnion[]; } | { name: '743'; children: BigUnion[]; } | { name: '744'; children: BigUnion[]; } | { name: '745'; children: BigUnion[]; } | { name: '746'; children: BigUnion[]; } | { name: '747'; children: BigUnion[]; } | { name: '748'; children: BigUnion[]; } | { name: '749'; children: BigUnion[]; } | { name: '750'; children: BigUnion[]; } | { name: '751'; children: BigUnion[]; } | { name: '752'; children: BigUnion[]; } | { name: '753'; children: BigUnion[]; } | { name: '754'; children: BigUnion[]; } | { name: '755'; children: BigUnion[]; } | { name: '756'; children: BigUnion[]; } | { name: '757'; children: BigUnion[]; } | { name: '758'; children: BigUnion[]; } | { name: '759'; children: BigUnion[]; } | { name: '760'; children: BigUnion[]; } | { name: '761'; children: BigUnion[]; } | { name: '762'; children: BigUnion[]; } | { name: '763'; children: BigUnion[]; } | { name: '764'; children: BigUnion[]; } | { name: '765'; children: BigUnion[]; } | { name: '766'; children: BigUnion[]; } | { name: '767'; children: BigUnion[]; } | { name: '768'; children: BigUnion[]; } | { name: '769'; children: BigUnion[]; } | { name: '770'; children: BigUnion[]; } | { name: '771'; children: BigUnion[]; } | { name: '772'; children: BigUnion[]; } | { name: '773'; children: BigUnion[]; } | { name: '774'; children: BigUnion[]; } | { name: '775'; children: BigUnion[]; } | { name: '776'; children: BigUnion[]; } | { name: '777'; children: BigUnion[]; } | { name: '778'; children: BigUnion[]; } | { name: '779'; children: BigUnion[]; } | { name: '780'; children: BigUnion[]; } | { name: '781'; children: BigUnion[]; } | { name: '782'; children: BigUnion[]; } | { name: '783'; children: BigUnion[]; } | { name: '784'; children: BigUnion[]; } | { name: '785'; children: BigUnion[]; } | { name: '786'; children: BigUnion[]; } | { name: '787'; children: BigUnion[]; } | { name: '788'; children: BigUnion[]; } | { name: '789'; children: BigUnion[]; } | { name: '790'; children: BigUnion[]; } | { name: '791'; children: BigUnion[]; } | { name: '792'; children: BigUnion[]; } | { name: '793'; children: BigUnion[]; } | { name: '794'; children: BigUnion[]; } | { name: '795'; children: BigUnion[]; } | { name: '796'; children: BigUnion[]; } | { name: '797'; children: BigUnion[]; } | { name: '798'; children: BigUnion[]; } | { name: '799'; children: BigUnion[]; } | { name: '800'; children: BigUnion[]; } | { name: '801'; children: BigUnion[]; } | { name: '802'; children: BigUnion[]; } | { name: '803'; children: BigUnion[]; } | { name: '804'; children: BigUnion[]; } | { name: '805'; children: BigUnion[]; } | { name: '806'; children: BigUnion[]; } | { name: '807'; children: BigUnion[]; } | { name: '808'; children: BigUnion[]; } | { name: '809'; children: BigUnion[]; } | { name: '810'; children: BigUnion[]; } | { name: '811'; children: BigUnion[]; } | { name: '812'; children: BigUnion[]; } | { name: '813'; children: BigUnion[]; } | { name: '814'; children: BigUnion[]; } | { name: '815'; children: BigUnion[]; } | { name: '816'; children: BigUnion[]; } | { name: '817'; children: BigUnion[]; } | { name: '818'; children: BigUnion[]; } | { name: '819'; children: BigUnion[]; } | { name: '820'; children: BigUnion[]; } | { name: '821'; children: BigUnion[]; } | { name: '822'; children: BigUnion[]; } | { name: '823'; children: BigUnion[]; } | { name: '824'; children: BigUnion[]; } | { name: '825'; children: BigUnion[]; } | { name: '826'; children: BigUnion[]; } | { name: '827'; children: BigUnion[]; } | { name: '828'; children: BigUnion[]; } | { name: '829'; children: BigUnion[]; } | { name: '830'; children: BigUnion[]; } | { name: '831'; children: BigUnion[]; } | { name: '832'; children: BigUnion[]; } | { name: '833'; children: BigUnion[]; } | { name: '834'; children: BigUnion[]; } | { name: '835'; children: BigUnion[]; } | { name: '836'; children: BigUnion[]; } | { name: '837'; children: BigUnion[]; } | { name: '838'; children: BigUnion[]; } | { name: '839'; children: BigUnion[]; } | { name: '840'; children: BigUnion[]; } | { name: '841'; children: BigUnion[]; } | { name: '842'; children: BigUnion[]; } | { name: '843'; children: BigUnion[]; } | { name: '844'; children: BigUnion[]; } | { name: '845'; children: BigUnion[]; } | { name: '846'; children: BigUnion[]; } | { name: '847'; children: BigUnion[]; } | { name: '848'; children: BigUnion[]; } | { name: '849'; children: BigUnion[]; } | { name: '850'; children: BigUnion[]; } | { name: '851'; children: BigUnion[]; } | { name: '852'; children: BigUnion[]; } | { name: '853'; children: BigUnion[]; } | { name: '854'; children: BigUnion[]; } | { name: '855'; children: BigUnion[]; } | { name: '856'; children: BigUnion[]; } | { name: '857'; children: BigUnion[]; } | { name: '858'; children: BigUnion[]; } | { name: '859'; children: BigUnion[]; } | { name: '860'; children: BigUnion[]; } | { name: '861'; children: BigUnion[]; } | { name: '862'; children: BigUnion[]; } | { name: '863'; children: BigUnion[]; } | { name: '864'; children: BigUnion[]; } | { name: '865'; children: BigUnion[]; } | { name: '866'; children: BigUnion[]; } | { name: '867'; children: BigUnion[]; } | { name: '868'; children: BigUnion[]; } | { name: '869'; children: BigUnion[]; } | { name: '870'; children: BigUnion[]; } | { name: '871'; children: BigUnion[]; } | { name: '872'; children: BigUnion[]; } | { name: '873'; children: BigUnion[]; } | { name: '874'; children: BigUnion[]; } | { name: '875'; children: BigUnion[]; } | { name: '876'; children: BigUnion[]; } | { name: '877'; children: BigUnion[]; } | { name: '878'; children: BigUnion[]; } | { name: '879'; children: BigUnion[]; } | { name: '880'; children: BigUnion[]; } | { name: '881'; children: BigUnion[]; } | { name: '882'; children: BigUnion[]; } | { name: '883'; children: BigUnion[]; } | { name: '884'; children: BigUnion[]; } | { name: '885'; children: BigUnion[]; } | { name: '886'; children: BigUnion[]; } | { name: '887'; children: BigUnion[]; } | { name: '888'; children: BigUnion[]; } | { name: '889'; children: BigUnion[]; } | { name: '890'; children: BigUnion[]; } | { name: '891'; children: BigUnion[]; } | { name: '892'; children: BigUnion[]; } | { name: '893'; children: BigUnion[]; } | { name: '894'; children: BigUnion[]; } | { name: '895'; children: BigUnion[]; } | { name: '896'; children: BigUnion[]; } | { name: '897'; children: BigUnion[]; } | { name: '898'; children: BigUnion[]; } | { name: '899'; children: BigUnion[]; } | { name: '900'; children: BigUnion[]; } | { name: '901'; children: BigUnion[]; } | { name: '902'; children: BigUnion[]; } | { name: '903'; children: BigUnion[]; } | { name: '904'; children: BigUnion[]; } | { name: '905'; children: BigUnion[]; } | { name: '906'; children: BigUnion[]; } | { name: '907'; children: BigUnion[]; } | { name: '908'; children: BigUnion[]; } | { name: '909'; children: BigUnion[]; } | { name: '910'; children: BigUnion[]; } | { name: '911'; children: BigUnion[]; } | { name: '912'; children: BigUnion[]; } | { name: '913'; children: BigUnion[]; } | { name: '914'; children: BigUnion[]; } | { name: '915'; children: BigUnion[]; } | { name: '916'; children: BigUnion[]; } | { name: '917'; children: BigUnion[]; } | { name: '918'; children: BigUnion[]; } | { name: '919'; children: BigUnion[]; } | { name: '920'; children: BigUnion[]; } | { name: '921'; children: BigUnion[]; } | { name: '922'; children: BigUnion[]; } | { name: '923'; children: BigUnion[]; } | { name: '924'; children: BigUnion[]; } | { name: '925'; children: BigUnion[]; } | { name: '926'; children: BigUnion[]; } | { name: '927'; children: BigUnion[]; } | { name: '928'; children: BigUnion[]; } | { name: '929'; children: BigUnion[]; } | { name: '930'; children: BigUnion[]; } | { name: '931'; children: BigUnion[]; } | { name: '932'; children: BigUnion[]; } | { name: '933'; children: BigUnion[]; } | { name: '934'; children: BigUnion[]; } | { name: '935'; children: BigUnion[]; } | { name: '936'; children: BigUnion[]; } | { name: '937'; children: BigUnion[]; } | { name: '938'; children: BigUnion[]; } | { name: '939'; children: BigUnion[]; } | { name: '940'; children: BigUnion[]; } | { name: '941'; children: BigUnion[]; } | { name: '942'; children: BigUnion[]; } | { name: '943'; children: BigUnion[]; } | { name: '944'; children: BigUnion[]; } | { name: '945'; children: BigUnion[]; } | { name: '946'; children: BigUnion[]; } | { name: '947'; children: BigUnion[]; } | { name: '948'; children: BigUnion[]; } | { name: '949'; children: BigUnion[]; } | { name: '950'; children: BigUnion[]; } | { name: '951'; children: BigUnion[]; } | { name: '952'; children: BigUnion[]; } | { name: '953'; children: BigUnion[]; } | { name: '954'; children: BigUnion[]; } | { name: '955'; children: BigUnion[]; } | { name: '956'; children: BigUnion[]; } | { name: '957'; children: BigUnion[]; } | { name: '958'; children: BigUnion[]; } | { name: '959'; children: BigUnion[]; } | { name: '960'; children: BigUnion[]; } | { name: '961'; children: BigUnion[]; } | { name: '962'; children: BigUnion[]; } | { name: '963'; children: BigUnion[]; } | { name: '964'; children: BigUnion[]; } | { name: '965'; children: BigUnion[]; } | { name: '966'; children: BigUnion[]; } | { name: '967'; children: BigUnion[]; } | { name: '968'; children: BigUnion[]; } | { name: '969'; children: BigUnion[]; } | { name: '970'; children: BigUnion[]; } | { name: '971'; children: BigUnion[]; } | { name: '972'; children: BigUnion[]; } | { name: '973'; children: BigUnion[]; } | { name: '974'; children: BigUnion[]; } | { name: '975'; children: BigUnion[]; } | { name: '976'; children: BigUnion[]; } | { name: '977'; children: BigUnion[]; } | { name: '978'; children: BigUnion[]; } | { name: '979'; children: BigUnion[]; } | { name: '980'; children: BigUnion[]; } | { name: '981'; children: BigUnion[]; } | { name: '982'; children: BigUnion[]; } | { name: '983'; children: BigUnion[]; } | { name: '984'; children: BigUnion[]; } | { name: '985'; children: BigUnion[]; } | { name: '986'; children: BigUnion[]; } | { name: '987'; children: BigUnion[]; } | { name: '988'; children: BigUnion[]; } | { name: '989'; children: BigUnion[]; } | { name: '990'; children: BigUnion[]; } | { name: '991'; children: BigUnion[]; } | { name: '992'; children: BigUnion[]; } | { name: '993'; children: BigUnion[]; } | { name: '994'; children: BigUnion[]; } | { name: '995'; children: BigUnion[]; } | { name: '996'; children: BigUnion[]; } | { name: '997'; children: BigUnion[]; } | { name: '998'; children: BigUnion[]; } | { name: '999'; children: BigUnion[]; } | { name: '1000'; children: BigUnion[]; } | { name: '1001'; children: BigUnion[]; } | { name: '1002'; children: BigUnion[]; } | { name: '1003'; children: BigUnion[]; } | { name: '1004'; children: BigUnion[]; } | { name: '1005'; children: BigUnion[]; } | { name: '1006'; children: BigUnion[]; } | { name: '1007'; children: BigUnion[]; } | { name: '1008'; children: BigUnion[]; } | { name: '1009'; children: BigUnion[]; } | { name: '1010'; children: BigUnion[]; } | { name: '1011'; children: BigUnion[]; } | { name: '1012'; children: BigUnion[]; } | { name: '1013'; children: BigUnion[]; } | { name: '1014'; children: BigUnion[]; } | { name: '1015'; children: BigUnion[]; } | { name: '1016'; children: BigUnion[]; } | { name: '1017'; children: BigUnion[]; } | { name: '1018'; children: BigUnion[]; } | { name: '1019'; children: BigUnion[]; } | { name: '1020'; children: BigUnion[]; } | { name: '1021'; children: BigUnion[]; } | { name: '1022'; children: BigUnion[]; } | { name: '1023'; children: BigUnion[]; } | { name: '1024'; children: BigUnion[]; } | { name: '1025'; children: BigUnion[]; } | { name: '1026'; children: BigUnion[]; } | { name: '1027'; children: BigUnion[]; } | { name: '1028'; children: BigUnion[]; } | { name: '1029'; children: BigUnion[]; } | { name: '1030'; children: BigUnion[]; } | { name: '1031'; children: BigUnion[]; } | { name: '1032'; children: BigUnion[]; } | { name: '1033'; children: BigUnion[]; } | { name: '1034'; children: BigUnion[]; } | { name: '1035'; children: BigUnion[]; } | { name: '1036'; children: BigUnion[]; } | { name: '1037'; children: BigUnion[]; } | { name: '1038'; children: BigUnion[]; } | { name: '1039'; children: BigUnion[]; } | { name: '1040'; children: BigUnion[]; } | { name: '1041'; children: BigUnion[]; } | { name: '1042'; children: BigUnion[]; } | { name: '1043'; children: BigUnion[]; } | { name: '1044'; children: BigUnion[]; } | { name: '1045'; children: BigUnion[]; } | { name: '1046'; children: BigUnion[]; } | { name: '1047'; children: BigUnion[]; } | { name: '1048'; children: BigUnion[]; } | { name: '1049'; children: BigUnion[]; } | { name: '1050'; children: BigUnion[]; } | { name: '1051'; children: BigUnion[]; } | { name: '1052'; children: BigUnion[]; } | { name: '1053'; children: BigUnion[]; } | { name: '1054'; children: BigUnion[]; } | { name: '1055'; children: BigUnion[]; } | { name: '1056'; children: BigUnion[]; } | { name: '1057'; children: BigUnion[]; } | { name: '1058'; children: BigUnion[]; } | { name: '1059'; children: BigUnion[]; } | { name: '1060'; children: BigUnion[]; } | { name: '1061'; children: BigUnion[]; } | { name: '1062'; children: BigUnion[]; } | { name: '1063'; children: BigUnion[]; } | { name: '1064'; children: BigUnion[]; } | { name: '1065'; children: BigUnion[]; } | { name: '1066'; children: BigUnion[]; } | { name: '1067'; children: BigUnion[]; } | { name: '1068'; children: BigUnion[]; } | { name: '1069'; children: BigUnion[]; } | { name: '1070'; children: BigUnion[]; } | { name: '1071'; children: BigUnion[]; } | { name: '1072'; children: BigUnion[]; } | { name: '1073'; children: BigUnion[]; } | { name: '1074'; children: BigUnion[]; } | { name: '1075'; children: BigUnion[]; } | { name: '1076'; children: BigUnion[]; } | { name: '1077'; children: BigUnion[]; } | { name: '1078'; children: BigUnion[]; } | { name: '1079'; children: BigUnion[]; } | { name: '1080'; children: BigUnion[]; } | { name: '1081'; children: BigUnion[]; } | { name: '1082'; children: BigUnion[]; } | { name: '1083'; children: BigUnion[]; } | { name: '1084'; children: BigUnion[]; } | { name: '1085'; children: BigUnion[]; } | { name: '1086'; children: BigUnion[]; } | { name: '1087'; children: BigUnion[]; } | { name: '1088'; children: BigUnion[]; } | { name: '1089'; children: BigUnion[]; } | { name: '1090'; children: BigUnion[]; } | { name: '1091'; children: BigUnion[]; } | { name: '1092'; children: BigUnion[]; } | { name: '1093'; children: BigUnion[]; } | { name: '1094'; children: BigUnion[]; } | { name: '1095'; children: BigUnion[]; } | { name: '1096'; children: BigUnion[]; } | { name: '1097'; children: BigUnion[]; } | { name: '1098'; children: BigUnion[]; } | { name: '1099'; children: BigUnion[]; } | { name: '1100'; children: BigUnion[]; } | { name: '1101'; children: BigUnion[]; } | { name: '1102'; children: BigUnion[]; } | { name: '1103'; children: BigUnion[]; } | { name: '1104'; children: BigUnion[]; } | { name: '1105'; children: BigUnion[]; } | { name: '1106'; children: BigUnion[]; } | { name: '1107'; children: BigUnion[]; } | { name: '1108'; children: BigUnion[]; } | { name: '1109'; children: BigUnion[]; } | { name: '1110'; children: BigUnion[]; } | { name: '1111'; children: BigUnion[]; } | { name: '1112'; children: BigUnion[]; } | { name: '1113'; children: BigUnion[]; } | { name: '1114'; children: BigUnion[]; } | { name: '1115'; children: BigUnion[]; } | { name: '1116'; children: BigUnion[]; } | { name: '1117'; children: BigUnion[]; } | { name: '1118'; children: BigUnion[]; } | { name: '1119'; children: BigUnion[]; } | { name: '1120'; children: BigUnion[]; } | { name: '1121'; children: BigUnion[]; } | { name: '1122'; children: BigUnion[]; } | { name: '1123'; children: BigUnion[]; } | { name: '1124'; children: BigUnion[]; } | { name: '1125'; children: BigUnion[]; } | { name: '1126'; children: BigUnion[]; } | { name: '1127'; children: BigUnion[]; } | { name: '1128'; children: BigUnion[]; } | { name: '1129'; children: BigUnion[]; } | { name: '1130'; children: BigUnion[]; } | { name: '1131'; children: BigUnion[]; } | { name: '1132'; children: BigUnion[]; } | { name: '1133'; children: BigUnion[]; } | { name: '1134'; children: BigUnion[]; } | { name: '1135'; children: BigUnion[]; } | { name: '1136'; children: BigUnion[]; } | { name: '1137'; children: BigUnion[]; } | { name: '1138'; children: BigUnion[]; } | { name: '1139'; children: BigUnion[]; } | { name: '1140'; children: BigUnion[]; } | { name: '1141'; children: BigUnion[]; } | { name: '1142'; children: BigUnion[]; } | { name: '1143'; children: BigUnion[]; } | { name: '1144'; children: BigUnion[]; } | { name: '1145'; children: BigUnion[]; } | { name: '1146'; children: BigUnion[]; } | { name: '1147'; children: BigUnion[]; } | { name: '1148'; children: BigUnion[]; } | { name: '1149'; children: BigUnion[]; } | { name: '1150'; children: BigUnion[]; } | { name: '1151'; children: BigUnion[]; } | { name: '1152'; children: BigUnion[]; } | { name: '1153'; children: BigUnion[]; } | { name: '1154'; children: BigUnion[]; } | { name: '1155'; children: BigUnion[]; } | { name: '1156'; children: BigUnion[]; } | { name: '1157'; children: BigUnion[]; } | { name: '1158'; children: BigUnion[]; } | { name: '1159'; children: BigUnion[]; } | { name: '1160'; children: BigUnion[]; } | { name: '1161'; children: BigUnion[]; } | { name: '1162'; children: BigUnion[]; } | { name: '1163'; children: BigUnion[]; } | { name: '1164'; children: BigUnion[]; } | { name: '1165'; children: BigUnion[]; } | { name: '1166'; children: BigUnion[]; } | { name: '1167'; children: BigUnion[]; } | { name: '1168'; children: BigUnion[]; } | { name: '1169'; children: BigUnion[]; } | { name: '1170'; children: BigUnion[]; } | { name: '1171'; children: BigUnion[]; } | { name: '1172'; children: BigUnion[]; } | { name: '1173'; children: BigUnion[]; } | { name: '1174'; children: BigUnion[]; } | { name: '1175'; children: BigUnion[]; } | { name: '1176'; children: BigUnion[]; } | { name: '1177'; children: BigUnion[]; } | { name: '1178'; children: BigUnion[]; } | { name: '1179'; children: BigUnion[]; } | { name: '1180'; children: BigUnion[]; } | { name: '1181'; children: BigUnion[]; } | { name: '1182'; children: BigUnion[]; } | { name: '1183'; children: BigUnion[]; } | { name: '1184'; children: BigUnion[]; } | { name: '1185'; children: BigUnion[]; } | { name: '1186'; children: BigUnion[]; } | { name: '1187'; children: BigUnion[]; } | { name: '1188'; children: BigUnion[]; } | { name: '1189'; children: BigUnion[]; } | { name: '1190'; children: BigUnion[]; } | { name: '1191'; children: BigUnion[]; } | { name: '1192'; children: BigUnion[]; } | { name: '1193'; children: BigUnion[]; } | { name: '1194'; children: BigUnion[]; } | { name: '1195'; children: BigUnion[]; } | { name: '1196'; children: BigUnion[]; } | { name: '1197'; children: BigUnion[]; } | { name: '1198'; children: BigUnion[]; } | { name: '1199'; children: BigUnion[]; } | { name: '1200'; children: BigUnion[]; } | { name: '1201'; children: BigUnion[]; } | { name: '1202'; children: BigUnion[]; } | { name: '1203'; children: BigUnion[]; } | { name: '1204'; children: BigUnion[]; } | { name: '1205'; children: BigUnion[]; } | { name: '1206'; children: BigUnion[]; } | { name: '1207'; children: BigUnion[]; } | { name: '1208'; children: BigUnion[]; } | { name: '1209'; children: BigUnion[]; } | { name: '1210'; children: BigUnion[]; } | { name: '1211'; children: BigUnion[]; } | { name: '1212'; children: BigUnion[]; } | { name: '1213'; children: BigUnion[]; } | { name: '1214'; children: BigUnion[]; } | { name: '1215'; children: BigUnion[]; } | { name: '1216'; children: BigUnion[]; } | { name: '1217'; children: BigUnion[]; } | { name: '1218'; children: BigUnion[]; } | { name: '1219'; children: BigUnion[]; } | { name: '1220'; children: BigUnion[]; } | { name: '1221'; children: BigUnion[]; } | { name: '1222'; children: BigUnion[]; } | { name: '1223'; children: BigUnion[]; } | { name: '1224'; children: BigUnion[]; } | { name: '1225'; children: BigUnion[]; } | { name: '1226'; children: BigUnion[]; } | { name: '1227'; children: BigUnion[]; } | { name: '1228'; children: BigUnion[]; } | { name: '1229'; children: BigUnion[]; } | { name: '1230'; children: BigUnion[]; } | { name: '1231'; children: BigUnion[]; } | { name: '1232'; children: BigUnion[]; } | { name: '1233'; children: BigUnion[]; } | { name: '1234'; children: BigUnion[]; } | { name: '1235'; children: BigUnion[]; } | { name: '1236'; children: BigUnion[]; } | { name: '1237'; children: BigUnion[]; } | { name: '1238'; children: BigUnion[]; } | { name: '1239'; children: BigUnion[]; } | { name: '1240'; children: BigUnion[]; } | { name: '1241'; children: BigUnion[]; } | { name: '1242'; children: BigUnion[]; } | { name: '1243'; children: BigUnion[]; } | { name: '1244'; children: BigUnion[]; } | { name: '1245'; children: BigUnion[]; } | { name: '1246'; children: BigUnion[]; } | { name: '1247'; children: BigUnion[]; } | { name: '1248'; children: BigUnion[]; } | { name: '1249'; children: BigUnion[]; } | { name: '1250'; children: BigUnion[]; } | { name: '1251'; children: BigUnion[]; } | { name: '1252'; children: BigUnion[]; } | { name: '1253'; children: BigUnion[]; } | { name: '1254'; children: BigUnion[]; } | { name: '1255'; children: BigUnion[]; } | { name: '1256'; children: BigUnion[]; } | { name: '1257'; children: BigUnion[]; } | { name: '1258'; children: BigUnion[]; } | { name: '1259'; children: BigUnion[]; } | { name: '1260'; children: BigUnion[]; } | { name: '1261'; children: BigUnion[]; } | { name: '1262'; children: BigUnion[]; } | { name: '1263'; children: BigUnion[]; } | { name: '1264'; children: BigUnion[]; } | { name: '1265'; children: BigUnion[]; } | { name: '1266'; children: BigUnion[]; } | { name: '1267'; children: BigUnion[]; } | { name: '1268'; children: BigUnion[]; } | { name: '1269'; children: BigUnion[]; } | { name: '1270'; children: BigUnion[]; } | { name: '1271'; children: BigUnion[]; } | { name: '1272'; children: BigUnion[]; } | { name: '1273'; children: BigUnion[]; } | { name: '1274'; children: BigUnion[]; } | { name: '1275'; children: BigUnion[]; } | { name: '1276'; children: BigUnion[]; } | { name: '1277'; children: BigUnion[]; } | { name: '1278'; children: BigUnion[]; } | { name: '1279'; children: BigUnion[]; } | { name: '1280'; children: BigUnion[]; } | { name: '1281'; children: BigUnion[]; } | { name: '1282'; children: BigUnion[]; } | { name: '1283'; children: BigUnion[]; } | { name: '1284'; children: BigUnion[]; } | { name: '1285'; children: BigUnion[]; } | { name: '1286'; children: BigUnion[]; } | { name: '1287'; children: BigUnion[]; } | { name: '1288'; children: BigUnion[]; } | { name: '1289'; children: BigUnion[]; } | { name: '1290'; children: BigUnion[]; } | { name: '1291'; children: BigUnion[]; } | { name: '1292'; children: BigUnion[]; } | { name: '1293'; children: BigUnion[]; } | { name: '1294'; children: BigUnion[]; } | { name: '1295'; children: BigUnion[]; } | { name: '1296'; children: BigUnion[]; } | { name: '1297'; children: BigUnion[]; } | { name: '1298'; children: BigUnion[]; } | { name: '1299'; children: BigUnion[]; } | { name: '1300'; children: BigUnion[]; } | { name: '1301'; children: BigUnion[]; } | { name: '1302'; children: BigUnion[]; } | { name: '1303'; children: BigUnion[]; } | { name: '1304'; children: BigUnion[]; } | { name: '1305'; children: BigUnion[]; } | { name: '1306'; children: BigUnion[]; } | { name: '1307'; children: BigUnion[]; } | { name: '1308'; children: BigUnion[]; } | { name: '1309'; children: BigUnion[]; } | { name: '1310'; children: BigUnion[]; } | { name: '1311'; children: BigUnion[]; } | { name: '1312'; children: BigUnion[]; } | { name: '1313'; children: BigUnion[]; } | { name: '1314'; children: BigUnion[]; } | { name: '1315'; children: BigUnion[]; } | { name: '1316'; children: BigUnion[]; } | { name: '1317'; children: BigUnion[]; } | { name: '1318'; children: BigUnion[]; } | { name: '1319'; children: BigUnion[]; } | { name: '1320'; children: BigUnion[]; } | { name: '1321'; children: BigUnion[]; } | { name: '1322'; children: BigUnion[]; } | { name: '1323'; children: BigUnion[]; } | { name: '1324'; children: BigUnion[]; } | { name: '1325'; children: BigUnion[]; } | { name: '1326'; children: BigUnion[]; } | { name: '1327'; children: BigUnion[]; } | { name: '1328'; children: BigUnion[]; } | { name: '1329'; children: BigUnion[]; } | { name: '1330'; children: BigUnion[]; } | { name: '1331'; children: BigUnion[]; } | { name: '1332'; children: BigUnion[]; } | { name: '1333'; children: BigUnion[]; } | { name: '1334'; children: BigUnion[]; } | { name: '1335'; children: BigUnion[]; } | { name: '1336'; children: BigUnion[]; } | { name: '1337'; children: BigUnion[]; } | { name: '1338'; children: BigUnion[]; } | { name: '1339'; children: BigUnion[]; } | { name: '1340'; children: BigUnion[]; } | { name: '1341'; children: BigUnion[]; } | { name: '1342'; children: BigUnion[]; } | { name: '1343'; children: BigUnion[]; } | { name: '1344'; children: BigUnion[]; } | { name: '1345'; children: BigUnion[]; } | { name: '1346'; children: BigUnion[]; } | { name: '1347'; children: BigUnion[]; } | { name: '1348'; children: BigUnion[]; } | { name: '1349'; children: BigUnion[]; } | { name: '1350'; children: BigUnion[]; } | { name: '1351'; children: BigUnion[]; } | { name: '1352'; children: BigUnion[]; } | { name: '1353'; children: BigUnion[]; } | { name: '1354'; children: BigUnion[]; } | { name: '1355'; children: BigUnion[]; } | { name: '1356'; children: BigUnion[]; } | { name: '1357'; children: BigUnion[]; } | { name: '1358'; children: BigUnion[]; } | { name: '1359'; children: BigUnion[]; } | { name: '1360'; children: BigUnion[]; } | { name: '1361'; children: BigUnion[]; } | { name: '1362'; children: BigUnion[]; } | { name: '1363'; children: BigUnion[]; } | { name: '1364'; children: BigUnion[]; } | { name: '1365'; children: BigUnion[]; } | { name: '1366'; children: BigUnion[]; } | { name: '1367'; children: BigUnion[]; } | { name: '1368'; children: BigUnion[]; } | { name: '1369'; children: BigUnion[]; } | { name: '1370'; children: BigUnion[]; } | { name: '1371'; children: BigUnion[]; } | { name: '1372'; children: BigUnion[]; } | { name: '1373'; children: BigUnion[]; } | { name: '1374'; children: BigUnion[]; } | { name: '1375'; children: BigUnion[]; } | { name: '1376'; children: BigUnion[]; } | { name: '1377'; children: BigUnion[]; } | { name: '1378'; children: BigUnion[]; } | { name: '1379'; children: BigUnion[]; } | { name: '1380'; children: BigUnion[]; } | { name: '1381'; children: BigUnion[]; } | { name: '1382'; children: BigUnion[]; } | { name: '1383'; children: BigUnion[]; } | { name: '1384'; children: BigUnion[]; } | { name: '1385'; children: BigUnion[]; } | { name: '1386'; children: BigUnion[]; } | { name: '1387'; children: BigUnion[]; } | { name: '1388'; children: BigUnion[]; } | { name: '1389'; children: BigUnion[]; } | { name: '1390'; children: BigUnion[]; } | { name: '1391'; children: BigUnion[]; } | { name: '1392'; children: BigUnion[]; } | { name: '1393'; children: BigUnion[]; } | { name: '1394'; children: BigUnion[]; } | { name: '1395'; children: BigUnion[]; } | { name: '1396'; children: BigUnion[]; } | { name: '1397'; children: BigUnion[]; } | { name: '1398'; children: BigUnion[]; } | { name: '1399'; children: BigUnion[]; } | { name: '1400'; children: BigUnion[]; } | { name: '1401'; children: BigUnion[]; } | { name: '1402'; children: BigUnion[]; } | { name: '1403'; children: BigUnion[]; } | { name: '1404'; children: BigUnion[]; } | { name: '1405'; children: BigUnion[]; } | { name: '1406'; children: BigUnion[]; } | { name: '1407'; children: BigUnion[]; } | { name: '1408'; children: BigUnion[]; } | { name: '1409'; children: BigUnion[]; } | { name: '1410'; children: BigUnion[]; } | { name: '1411'; children: BigUnion[]; } | { name: '1412'; children: BigUnion[]; } | { name: '1413'; children: BigUnion[]; } | { name: '1414'; children: BigUnion[]; } | { name: '1415'; children: BigUnion[]; } | { name: '1416'; children: BigUnion[]; } | { name: '1417'; children: BigUnion[]; } | { name: '1418'; children: BigUnion[]; } | { name: '1419'; children: BigUnion[]; } | { name: '1420'; children: BigUnion[]; } | { name: '1421'; children: BigUnion[]; } | { name: '1422'; children: BigUnion[]; } | { name: '1423'; children: BigUnion[]; } | { name: '1424'; children: BigUnion[]; } | { name: '1425'; children: BigUnion[]; } | { name: '1426'; children: BigUnion[]; } | { name: '1427'; children: BigUnion[]; } | { name: '1428'; children: BigUnion[]; } | { name: '1429'; children: BigUnion[]; } | { name: '1430'; children: BigUnion[]; } | { name: '1431'; children: BigUnion[]; } | { name: '1432'; children: BigUnion[]; } | { name: '1433'; children: BigUnion[]; } | { name: '1434'; children: BigUnion[]; } | { name: '1435'; children: BigUnion[]; } | { name: '1436'; children: BigUnion[]; } | { name: '1437'; children: BigUnion[]; } | { name: '1438'; children: BigUnion[]; } | { name: '1439'; children: BigUnion[]; } | { name: '1440'; children: BigUnion[]; } | { name: '1441'; children: BigUnion[]; } | { name: '1442'; children: BigUnion[]; } | { name: '1443'; children: BigUnion[]; } | { name: '1444'; children: BigUnion[]; } | { name: '1445'; children: BigUnion[]; } | { name: '1446'; children: BigUnion[]; } | { name: '1447'; children: BigUnion[]; } | { name: '1448'; children: BigUnion[]; } | { name: '1449'; children: BigUnion[]; } | { name: '1450'; children: BigUnion[]; } | { name: '1451'; children: BigUnion[]; } | { name: '1452'; children: BigUnion[]; } | { name: '1453'; children: BigUnion[]; } | { name: '1454'; children: BigUnion[]; } | { name: '1455'; children: BigUnion[]; } | { name: '1456'; children: BigUnion[]; } | { name: '1457'; children: BigUnion[]; } | { name: '1458'; children: BigUnion[]; } | { name: '1459'; children: BigUnion[]; } | { name: '1460'; children: BigUnion[]; } | { name: '1461'; children: BigUnion[]; } | { name: '1462'; children: BigUnion[]; } | { name: '1463'; children: BigUnion[]; } | { name: '1464'; children: BigUnion[]; } | { name: '1465'; children: BigUnion[]; } | { name: '1466'; children: BigUnion[]; } | { name: '1467'; children: BigUnion[]; } | { name: '1468'; children: BigUnion[]; } | { name: '1469'; children: BigUnion[]; } | { name: '1470'; children: BigUnion[]; } | { name: '1471'; children: BigUnion[]; } | { name: '1472'; children: BigUnion[]; } | { name: '1473'; children: BigUnion[]; } | { name: '1474'; children: BigUnion[]; } | { name: '1475'; children: BigUnion[]; } | { name: '1476'; children: BigUnion[]; } | { name: '1477'; children: BigUnion[]; } | { name: '1478'; children: BigUnion[]; } | { name: '1479'; children: BigUnion[]; } | { name: '1480'; children: BigUnion[]; } | { name: '1481'; children: BigUnion[]; } | { name: '1482'; children: BigUnion[]; } | { name: '1483'; children: BigUnion[]; } | { name: '1484'; children: BigUnion[]; } | { name: '1485'; children: BigUnion[]; } | { name: '1486'; children: BigUnion[]; } | { name: '1487'; children: BigUnion[]; } | { name: '1488'; children: BigUnion[]; } | { name: '1489'; children: BigUnion[]; } | { name: '1490'; children: BigUnion[]; } | { name: '1491'; children: BigUnion[]; } | { name: '1492'; children: BigUnion[]; } | { name: '1493'; children: BigUnion[]; } | { name: '1494'; children: BigUnion[]; } | { name: '1495'; children: BigUnion[]; } | { name: '1496'; children: BigUnion[]; } | { name: '1497'; children: BigUnion[]; } | { name: '1498'; children: BigUnion[]; } | { name: '1499'; children: BigUnion[]; } | { name: '1500'; children: BigUnion[]; } | { name: '1501'; children: BigUnion[]; } | { name: '1502'; children: BigUnion[]; } | { name: '1503'; children: BigUnion[]; } | { name: '1504'; children: BigUnion[]; } | { name: '1505'; children: BigUnion[]; } | { name: '1506'; children: BigUnion[]; } | { name: '1507'; children: BigUnion[]; } | { name: '1508'; children: BigUnion[]; } | { name: '1509'; children: BigUnion[]; } | { name: '1510'; children: BigUnion[]; } | { name: '1511'; children: BigUnion[]; } | { name: '1512'; children: BigUnion[]; } | { name: '1513'; children: BigUnion[]; } | { name: '1514'; children: BigUnion[]; } | { name: '1515'; children: BigUnion[]; } | { name: '1516'; children: BigUnion[]; } | { name: '1517'; children: BigUnion[]; } | { name: '1518'; children: BigUnion[]; } | { name: '1519'; children: BigUnion[]; } | { name: '1520'; children: BigUnion[]; } | { name: '1521'; children: BigUnion[]; } | { name: '1522'; children: BigUnion[]; } | { name: '1523'; children: BigUnion[]; } | { name: '1524'; children: BigUnion[]; } | { name: '1525'; children: BigUnion[]; } | { name: '1526'; children: BigUnion[]; } | { name: '1527'; children: BigUnion[]; } | { name: '1528'; children: BigUnion[]; } | { name: '1529'; children: BigUnion[]; } | { name: '1530'; children: BigUnion[]; } | { name: '1531'; children: BigUnion[]; } | { name: '1532'; children: BigUnion[]; } | { name: '1533'; children: BigUnion[]; } | { name: '1534'; children: BigUnion[]; } | { name: '1535'; children: BigUnion[]; } | { name: '1536'; children: BigUnion[]; } | { name: '1537'; children: BigUnion[]; } | { name: '1538'; children: BigUnion[]; } | { name: '1539'; children: BigUnion[]; } | { name: '1540'; children: BigUnion[]; } | { name: '1541'; children: BigUnion[]; } | { name: '1542'; children: BigUnion[]; } | { name: '1543'; children: BigUnion[]; } | { name: '1544'; children: BigUnion[]; } | { name: '1545'; children: BigUnion[]; } | { name: '1546'; children: BigUnion[]; } | { name: '1547'; children: BigUnion[]; } | { name: '1548'; children: BigUnion[]; } | { name: '1549'; children: BigUnion[]; } | { name: '1550'; children: BigUnion[]; } | { name: '1551'; children: BigUnion[]; } | { name: '1552'; children: BigUnion[]; } | { name: '1553'; children: BigUnion[]; } | { name: '1554'; children: BigUnion[]; } | { name: '1555'; children: BigUnion[]; } | { name: '1556'; children: BigUnion[]; } | { name: '1557'; children: BigUnion[]; } | { name: '1558'; children: BigUnion[]; } | { name: '1559'; children: BigUnion[]; } | { name: '1560'; children: BigUnion[]; } | { name: '1561'; children: BigUnion[]; } | { name: '1562'; children: BigUnion[]; } | { name: '1563'; children: BigUnion[]; } | { name: '1564'; children: BigUnion[]; } | { name: '1565'; children: BigUnion[]; } | { name: '1566'; children: BigUnion[]; } | { name: '1567'; children: BigUnion[]; } | { name: '1568'; children: BigUnion[]; } | { name: '1569'; children: BigUnion[]; } | { name: '1570'; children: BigUnion[]; } | { name: '1571'; children: BigUnion[]; } | { name: '1572'; children: BigUnion[]; } | { name: '1573'; children: BigUnion[]; } | { name: '1574'; children: BigUnion[]; } | { name: '1575'; children: BigUnion[]; } | { name: '1576'; children: BigUnion[]; } | { name: '1577'; children: BigUnion[]; } | { name: '1578'; children: BigUnion[]; } | { name: '1579'; children: BigUnion[]; } | { name: '1580'; children: BigUnion[]; } | { name: '1581'; children: BigUnion[]; } | { name: '1582'; children: BigUnion[]; } | { name: '1583'; children: BigUnion[]; } | { name: '1584'; children: BigUnion[]; } | { name: '1585'; children: BigUnion[]; } | { name: '1586'; children: BigUnion[]; } | { name: '1587'; children: BigUnion[]; } | { name: '1588'; children: BigUnion[]; } | { name: '1589'; children: BigUnion[]; } | { name: '1590'; children: BigUnion[]; } | { name: '1591'; children: BigUnion[]; } | { name: '1592'; children: BigUnion[]; } | { name: '1593'; children: BigUnion[]; } | { name: '1594'; children: BigUnion[]; } | { name: '1595'; children: BigUnion[]; } | { name: '1596'; children: BigUnion[]; } | { name: '1597'; children: BigUnion[]; } | { name: '1598'; children: BigUnion[]; } | { name: '1599'; children: BigUnion[]; } | { name: '1600'; children: BigUnion[]; } | { name: '1601'; children: BigUnion[]; } | { name: '1602'; children: BigUnion[]; } | { name: '1603'; children: BigUnion[]; } | { name: '1604'; children: BigUnion[]; } | { name: '1605'; children: BigUnion[]; } | { name: '1606'; children: BigUnion[]; } | { name: '1607'; children: BigUnion[]; } | { name: '1608'; children: BigUnion[]; } | { name: '1609'; children: BigUnion[]; } | { name: '1610'; children: BigUnion[]; } | { name: '1611'; children: BigUnion[]; } | { name: '1612'; children: BigUnion[]; } | { name: '1613'; children: BigUnion[]; } | { name: '1614'; children: BigUnion[]; } | { name: '1615'; children: BigUnion[]; } | { name: '1616'; children: BigUnion[]; } | { name: '1617'; children: BigUnion[]; } | { name: '1618'; children: BigUnion[]; } | { name: '1619'; children: BigUnion[]; } | { name: '1620'; children: BigUnion[]; } | { name: '1621'; children: BigUnion[]; } | { name: '1622'; children: BigUnion[]; } | { name: '1623'; children: BigUnion[]; } | { name: '1624'; children: BigUnion[]; } | { name: '1625'; children: BigUnion[]; } | { name: '1626'; children: BigUnion[]; } | { name: '1627'; children: BigUnion[]; } | { name: '1628'; children: BigUnion[]; } | { name: '1629'; children: BigUnion[]; } | { name: '1630'; children: BigUnion[]; } | { name: '1631'; children: BigUnion[]; } | { name: '1632'; children: BigUnion[]; } | { name: '1633'; children: BigUnion[]; } | { name: '1634'; children: BigUnion[]; } | { name: '1635'; children: BigUnion[]; } | { name: '1636'; children: BigUnion[]; } | { name: '1637'; children: BigUnion[]; } | { name: '1638'; children: BigUnion[]; } | { name: '1639'; children: BigUnion[]; } | { name: '1640'; children: BigUnion[]; } | { name: '1641'; children: BigUnion[]; } | { name: '1642'; children: BigUnion[]; } | { name: '1643'; children: BigUnion[]; } | { name: '1644'; children: BigUnion[]; } | { name: '1645'; children: BigUnion[]; } | { name: '1646'; children: BigUnion[]; } | { name: '1647'; children: BigUnion[]; } | { name: '1648'; children: BigUnion[]; } | { name: '1649'; children: BigUnion[]; } | { name: '1650'; children: BigUnion[]; } | { name: '1651'; children: BigUnion[]; } | { name: '1652'; children: BigUnion[]; } | { name: '1653'; children: BigUnion[]; } | { name: '1654'; children: BigUnion[]; } | { name: '1655'; children: BigUnion[]; } | { name: '1656'; children: BigUnion[]; } | { name: '1657'; children: BigUnion[]; } | { name: '1658'; children: BigUnion[]; } | { name: '1659'; children: BigUnion[]; } | { name: '1660'; children: BigUnion[]; } | { name: '1661'; children: BigUnion[]; } | { name: '1662'; children: BigUnion[]; } | { name: '1663'; children: BigUnion[]; } | { name: '1664'; children: BigUnion[]; } | { name: '1665'; children: BigUnion[]; } | { name: '1666'; children: BigUnion[]; } | { name: '1667'; children: BigUnion[]; } | { name: '1668'; children: BigUnion[]; } | { name: '1669'; children: BigUnion[]; } | { name: '1670'; children: BigUnion[]; } | { name: '1671'; children: BigUnion[]; } | { name: '1672'; children: BigUnion[]; } | { name: '1673'; children: BigUnion[]; } | { name: '1674'; children: BigUnion[]; } | { name: '1675'; children: BigUnion[]; } | { name: '1676'; children: BigUnion[]; } | { name: '1677'; children: BigUnion[]; } | { name: '1678'; children: BigUnion[]; } | { name: '1679'; children: BigUnion[]; } | { name: '1680'; children: BigUnion[]; } | { name: '1681'; children: BigUnion[]; } | { name: '1682'; children: BigUnion[]; } | { name: '1683'; children: BigUnion[]; } | { name: '1684'; children: BigUnion[]; } | { name: '1685'; children: BigUnion[]; } | { name: '1686'; children: BigUnion[]; } | { name: '1687'; children: BigUnion[]; } | { name: '1688'; children: BigUnion[]; } | { name: '1689'; children: BigUnion[]; } | { name: '1690'; children: BigUnion[]; } | { name: '1691'; children: BigUnion[]; } | { name: '1692'; children: BigUnion[]; } | { name: '1693'; children: BigUnion[]; } | { name: '1694'; children: BigUnion[]; } | { name: '1695'; children: BigUnion[]; } | { name: '1696'; children: BigUnion[]; } | { name: '1697'; children: BigUnion[]; } | { name: '1698'; children: BigUnion[]; } | { name: '1699'; children: BigUnion[]; } | { name: '1700'; children: BigUnion[]; } | { name: '1701'; children: BigUnion[]; } | { name: '1702'; children: BigUnion[]; } | { name: '1703'; children: BigUnion[]; } | { name: '1704'; children: BigUnion[]; } | { name: '1705'; children: BigUnion[]; } | { name: '1706'; children: BigUnion[]; } | { name: '1707'; children: BigUnion[]; } | { name: '1708'; children: BigUnion[]; } | { name: '1709'; children: BigUnion[]; } | { name: '1710'; children: BigUnion[]; } | { name: '1711'; children: BigUnion[]; } | { name: '1712'; children: BigUnion[]; } | { name: '1713'; children: BigUnion[]; } | { name: '1714'; children: BigUnion[]; } | { name: '1715'; children: BigUnion[]; } | { name: '1716'; children: BigUnion[]; } | { name: '1717'; children: BigUnion[]; } | { name: '1718'; children: BigUnion[]; } | { name: '1719'; children: BigUnion[]; } | { name: '1720'; children: BigUnion[]; } | { name: '1721'; children: BigUnion[]; } | { name: '1722'; children: BigUnion[]; } | { name: '1723'; children: BigUnion[]; } | { name: '1724'; children: BigUnion[]; } | { name: '1725'; children: BigUnion[]; } | { name: '1726'; children: BigUnion[]; } | { name: '1727'; children: BigUnion[]; } | { name: '1728'; children: BigUnion[]; } | { name: '1729'; children: BigUnion[]; } | { name: '1730'; children: BigUnion[]; } | { name: '1731'; children: BigUnion[]; } | { name: '1732'; children: BigUnion[]; } | { name: '1733'; children: BigUnion[]; } | { name: '1734'; children: BigUnion[]; } | { name: '1735'; children: BigUnion[]; } | { name: '1736'; children: BigUnion[]; } | { name: '1737'; children: BigUnion[]; } | { name: '1738'; children: BigUnion[]; } | { name: '1739'; children: BigUnion[]; } | { name: '1740'; children: BigUnion[]; } | { name: '1741'; children: BigUnion[]; } | { name: '1742'; children: BigUnion[]; } | { name: '1743'; children: BigUnion[]; } | { name: '1744'; children: BigUnion[]; } | { name: '1745'; children: BigUnion[]; } | { name: '1746'; children: BigUnion[]; } | { name: '1747'; children: BigUnion[]; } | { name: '1748'; children: BigUnion[]; } | { name: '1749'; children: BigUnion[]; } | { name: '1750'; children: BigUnion[]; } | { name: '1751'; children: BigUnion[]; } | { name: '1752'; children: BigUnion[]; } | { name: '1753'; children: BigUnion[]; } | { name: '1754'; children: BigUnion[]; } | { name: '1755'; children: BigUnion[]; } | { name: '1756'; children: BigUnion[]; } | { name: '1757'; children: BigUnion[]; } | { name: '1758'; children: BigUnion[]; } | { name: '1759'; children: BigUnion[]; } | { name: '1760'; children: BigUnion[]; } | { name: '1761'; children: BigUnion[]; } | { name: '1762'; children: BigUnion[]; } | { name: '1763'; children: BigUnion[]; } | { name: '1764'; children: BigUnion[]; } | { name: '1765'; children: BigUnion[]; } | { name: '1766'; children: BigUnion[]; } | { name: '1767'; children: BigUnion[]; } | { name: '1768'; children: BigUnion[]; } | { name: '1769'; children: BigUnion[]; } | { name: '1770'; children: BigUnion[]; } | { name: '1771'; children: BigUnion[]; } | { name: '1772'; children: BigUnion[]; } | { name: '1773'; children: BigUnion[]; } | { name: '1774'; children: BigUnion[]; } | { name: '1775'; children: BigUnion[]; } | { name: '1776'; children: BigUnion[]; } | { name: '1777'; children: BigUnion[]; } | { name: '1778'; children: BigUnion[]; } | { name: '1779'; children: BigUnion[]; } | { name: '1780'; children: BigUnion[]; } | { name: '1781'; children: BigUnion[]; } | { name: '1782'; children: BigUnion[]; } | { name: '1783'; children: BigUnion[]; } | { name: '1784'; children: BigUnion[]; } | { name: '1785'; children: BigUnion[]; } | { name: '1786'; children: BigUnion[]; } | { name: '1787'; children: BigUnion[]; } | { name: '1788'; children: BigUnion[]; } | { name: '1789'; children: BigUnion[]; } | { name: '1790'; children: BigUnion[]; } | { name: '1791'; children: BigUnion[]; } | { name: '1792'; children: BigUnion[]; } | { name: '1793'; children: BigUnion[]; } | { name: '1794'; children: BigUnion[]; } | { name: '1795'; children: BigUnion[]; } | { name: '1796'; children: BigUnion[]; } | { name: '1797'; children: BigUnion[]; } | { name: '1798'; children: BigUnion[]; } | { name: '1799'; children: BigUnion[]; } | { name: '1800'; children: BigUnion[]; } | { name: '1801'; children: BigUnion[]; } | { name: '1802'; children: BigUnion[]; } | { name: '1803'; children: BigUnion[]; } | { name: '1804'; children: BigUnion[]; } | { name: '1805'; children: BigUnion[]; } | { name: '1806'; children: BigUnion[]; } | { name: '1807'; children: BigUnion[]; } | { name: '1808'; children: BigUnion[]; } | { name: '1809'; children: BigUnion[]; } | { name: '1810'; children: BigUnion[]; } | { name: '1811'; children: BigUnion[]; } | { name: '1812'; children: BigUnion[]; } | { name: '1813'; children: BigUnion[]; } | { name: '1814'; children: BigUnion[]; } | { name: '1815'; children: BigUnion[]; } | { name: '1816'; children: BigUnion[]; } | { name: '1817'; children: BigUnion[]; } | { name: '1818'; children: BigUnion[]; } | { name: '1819'; children: BigUnion[]; } | { name: '1820'; children: BigUnion[]; } | { name: '1821'; children: BigUnion[]; } | { name: '1822'; children: BigUnion[]; } | { name: '1823'; children: BigUnion[]; } | { name: '1824'; children: BigUnion[]; } | { name: '1825'; children: BigUnion[]; } | { name: '1826'; children: BigUnion[]; } | { name: '1827'; children: BigUnion[]; } | { name: '1828'; children: BigUnion[]; } | { name: '1829'; children: BigUnion[]; } | { name: '1830'; children: BigUnion[]; } | { name: '1831'; children: BigUnion[]; } | { name: '1832'; children: BigUnion[]; } | { name: '1833'; children: BigUnion[]; } | { name: '1834'; children: BigUnion[]; } | { name: '1835'; children: BigUnion[]; } | { name: '1836'; children: BigUnion[]; } | { name: '1837'; children: BigUnion[]; } | { name: '1838'; children: BigUnion[]; } | { name: '1839'; children: BigUnion[]; } | { name: '1840'; children: BigUnion[]; } | { name: '1841'; children: BigUnion[]; } | { name: '1842'; children: BigUnion[]; } | { name: '1843'; children: BigUnion[]; } | { name: '1844'; children: BigUnion[]; } | { name: '1845'; children: BigUnion[]; } | { name: '1846'; children: BigUnion[]; } | { name: '1847'; children: BigUnion[]; } | { name: '1848'; children: BigUnion[]; } | { name: '1849'; children: BigUnion[]; } | { name: '1850'; children: BigUnion[]; } | { name: '1851'; children: BigUnion[]; } | { name: '1852'; children: BigUnion[]; } | { name: '1853'; children: BigUnion[]; } | { name: '1854'; children: BigUnion[]; } | { name: '1855'; children: BigUnion[]; } | { name: '1856'; children: BigUnion[]; } | { name: '1857'; children: BigUnion[]; } | { name: '1858'; children: BigUnion[]; } | { name: '1859'; children: BigUnion[]; } | { name: '1860'; children: BigUnion[]; } | { name: '1861'; children: BigUnion[]; } | { name: '1862'; children: BigUnion[]; } | { name: '1863'; children: BigUnion[]; } | { name: '1864'; children: BigUnion[]; } | { name: '1865'; children: BigUnion[]; } | { name: '1866'; children: BigUnion[]; } | { name: '1867'; children: BigUnion[]; } | { name: '1868'; children: BigUnion[]; } | { name: '1869'; children: BigUnion[]; } | { name: '1870'; children: BigUnion[]; } | { name: '1871'; children: BigUnion[]; } | { name: '1872'; children: BigUnion[]; } | { name: '1873'; children: BigUnion[]; } | { name: '1874'; children: BigUnion[]; } | { name: '1875'; children: BigUnion[]; } | { name: '1876'; children: BigUnion[]; } | { name: '1877'; children: BigUnion[]; } | { name: '1878'; children: BigUnion[]; } | { name: '1879'; children: BigUnion[]; } | { name: '1880'; children: BigUnion[]; } | { name: '1881'; children: BigUnion[]; } | { name: '1882'; children: BigUnion[]; } | { name: '1883'; children: BigUnion[]; } | { name: '1884'; children: BigUnion[]; } | { name: '1885'; children: BigUnion[]; } | { name: '1886'; children: BigUnion[]; } | { name: '1887'; children: BigUnion[]; } | { name: '1888'; children: BigUnion[]; } | { name: '1889'; children: BigUnion[]; } | { name: '1890'; children: BigUnion[]; } | { name: '1891'; children: BigUnion[]; } | { name: '1892'; children: BigUnion[]; } | { name: '1893'; children: BigUnion[]; } | { name: '1894'; children: BigUnion[]; } | { name: '1895'; children: BigUnion[]; } | { name: '1896'; children: BigUnion[]; } | { name: '1897'; children: BigUnion[]; } | { name: '1898'; children: BigUnion[]; } | { name: '1899'; children: BigUnion[]; } | { name: '1900'; children: BigUnion[]; } | { name: '1901'; children: BigUnion[]; } | { name: '1902'; children: BigUnion[]; } | { name: '1903'; children: BigUnion[]; } | { name: '1904'; children: BigUnion[]; } | { name: '1905'; children: BigUnion[]; } | { name: '1906'; children: BigUnion[]; } | { name: '1907'; children: BigUnion[]; } | { name: '1908'; children: BigUnion[]; } | { name: '1909'; children: BigUnion[]; } | { name: '1910'; children: BigUnion[]; } | { name: '1911'; children: BigUnion[]; } | { name: '1912'; children: BigUnion[]; } | { name: '1913'; children: BigUnion[]; } | { name: '1914'; children: BigUnion[]; } | { name: '1915'; children: BigUnion[]; } | { name: '1916'; children: BigUnion[]; } | { name: '1917'; children: BigUnion[]; } | { name: '1918'; children: BigUnion[]; } | { name: '1919'; children: BigUnion[]; } | { name: '1920'; children: BigUnion[]; } | { name: '1921'; children: BigUnion[]; } | { name: '1922'; children: BigUnion[]; } | { name: '1923'; children: BigUnion[]; } | { name: '1924'; children: BigUnion[]; } | { name: '1925'; children: BigUnion[]; } | { name: '1926'; children: BigUnion[]; } | { name: '1927'; children: BigUnion[]; } | { name: '1928'; children: BigUnion[]; } | { name: '1929'; children: BigUnion[]; } | { name: '1930'; children: BigUnion[]; } | { name: '1931'; children: BigUnion[]; } | { name: '1932'; children: BigUnion[]; } | { name: '1933'; children: BigUnion[]; } | { name: '1934'; children: BigUnion[]; } | { name: '1935'; children: BigUnion[]; } | { name: '1936'; children: BigUnion[]; } | { name: '1937'; children: BigUnion[]; } | { name: '1938'; children: BigUnion[]; } | { name: '1939'; children: BigUnion[]; } | { name: '1940'; children: BigUnion[]; } | { name: '1941'; children: BigUnion[]; } | { name: '1942'; children: BigUnion[]; } | { name: '1943'; children: BigUnion[]; } | { name: '1944'; children: BigUnion[]; } | { name: '1945'; children: BigUnion[]; } | { name: '1946'; children: BigUnion[]; } | { name: '1947'; children: BigUnion[]; } | { name: '1948'; children: BigUnion[]; } | { name: '1949'; children: BigUnion[]; } | { name: '1950'; children: BigUnion[]; } | { name: '1951'; children: BigUnion[]; } | { name: '1952'; children: BigUnion[]; } | { name: '1953'; children: BigUnion[]; } | { name: '1954'; children: BigUnion[]; } | { name: '1955'; children: BigUnion[]; } | { name: '1956'; children: BigUnion[]; } | { name: '1957'; children: BigUnion[]; } | { name: '1958'; children: BigUnion[]; } | { name: '1959'; children: BigUnion[]; } | { name: '1960'; children: BigUnion[]; } | { name: '1961'; children: BigUnion[]; } | { name: '1962'; children: BigUnion[]; } | { name: '1963'; children: BigUnion[]; } | { name: '1964'; children: BigUnion[]; } | { name: '1965'; children: BigUnion[]; } | { name: '1966'; children: BigUnion[]; } | { name: '1967'; children: BigUnion[]; } | { name: '1968'; children: BigUnion[]; } | { name: '1969'; children: BigUnion[]; } | { name: '1970'; children: BigUnion[]; } | { name: '1971'; children: BigUnion[]; } | { name: '1972'; children: BigUnion[]; } | { name: '1973'; children: BigUnion[]; } | { name: '1974'; children: BigUnion[]; } | { name: '1975'; children: BigUnion[]; } | { name: '1976'; children: BigUnion[]; } | { name: '1977'; children: BigUnion[]; } | { name: '1978'; children: BigUnion[]; } | { name: '1979'; children: BigUnion[]; } | { name: '1980'; children: BigUnion[]; } | { name: '1981'; children: BigUnion[]; } | { name: '1982'; children: BigUnion[]; } | { name: '1983'; children: BigUnion[]; } | { name: '1984'; children: BigUnion[]; } | { name: '1985'; children: BigUnion[]; } | { name: '1986'; children: BigUnion[]; } | { name: '1987'; children: BigUnion[]; } | { name: '1988'; children: BigUnion[]; } | { name: '1989'; children: BigUnion[]; } | { name: '1990'; children: BigUnion[]; } | { name: '1991'; children: BigUnion[]; } | { name: '1992'; children: BigUnion[]; } | { name: '1993'; children: BigUnion[]; } | { name: '1994'; children: BigUnion[]; } | { name: '1995'; children: BigUnion[]; } | { name: '1996'; children: BigUnion[]; } | { name: '1997'; children: BigUnion[]; } | { name: '1998'; children: BigUnion[]; } | { name: '1999'; children: BigUnion[]; }
     {
         name: '0';
 >name : "0"
diff --git a/tests/baselines/reference/conditionalTypeRelaxingConstraintAssignability.types b/tests/baselines/reference/conditionalTypeRelaxingConstraintAssignability.types
index 20a281417631d..c67699df0d8e9 100644
--- a/tests/baselines/reference/conditionalTypeRelaxingConstraintAssignability.types
+++ b/tests/baselines/reference/conditionalTypeRelaxingConstraintAssignability.types
@@ -1,6 +1,6 @@
 === tests/cases/compiler/conditionalTypeRelaxingConstraintAssignability.ts ===
 export type ElChildren =
->ElChildren : ElChildren
+>ElChildren : string | undefined
 
   | ElChildren.Void
 >ElChildren : any
diff --git a/tests/baselines/reference/conditionalTypes1.types b/tests/baselines/reference/conditionalTypes1.types
index d655e3d6b040a..27b295caa8b50 100644
--- a/tests/baselines/reference/conditionalTypes1.types
+++ b/tests/baselines/reference/conditionalTypes1.types
@@ -1,21 +1,21 @@
 === tests/cases/conformance/types/conditional/conditionalTypes1.ts ===
 type T00 = Exclude<"a" | "b" | "c" | "d", "a" | "c" | "f">;  // "b" | "d"
->T00 : T00
+>T00 : "b" | "d"
 
 type T01 = Extract<"a" | "b" | "c" | "d", "a" | "c" | "f">;  // "a" | "c"
->T01 : T01
+>T01 : "a" | "c"
 
 type T02 = Exclude<string | number | (() => void), Function>;  // string | number
->T02 : T02
+>T02 : string | number
 
 type T03 = Extract<string | number | (() => void), Function>;  // () => void
 >T03 : () => void
 
 type T04 = NonNullable<string | number | undefined>;  // string | number
->T04 : T04
+>T04 : string | number
 
 type T05 = NonNullable<(() => string) | string[] | null | undefined>;  // (() => string) | string[]
->T05 : T05
+>T05 : (() => string) | string[]
 >null : null
 
 function f1<T>(x: T, y: NonNullable<T>) {
@@ -100,7 +100,7 @@ function f4<T extends { x: string | undefined }>(x: T["x"], y: NonNullable<T["x"
 }
 
 type Options = { k: "a", a: number } | { k: "b", b: string } | { k: "c", c: boolean };
->Options : Options
+>Options : { k: "a"; a: number; } | { k: "b"; b: string; } | { k: "c"; c: boolean; }
 >k : "a"
 >a : number
 >k : "b"
@@ -113,7 +113,7 @@ type T10 = Exclude<Options, { k: "a" | "b" }>;  // { k: "c", c: boolean }
 >k : "a" | "b"
 
 type T11 = Extract<Options, { k: "a" | "b" }>;  // { k: "a", a: number } | { k: "b", b: string }
->T11 : T11
+>T11 : { k: "a"; a: number; } | { k: "b"; b: string; }
 >k : "a" | "b"
 
 type T12 = Exclude<Options, { k: "a" } | { k: "b" }>;  // { k: "c", c: boolean }
@@ -122,12 +122,12 @@ type T12 = Exclude<Options, { k: "a" } | { k: "b" }>;  // { k: "c", c: boolean }
 >k : "b"
 
 type T13 = Extract<Options, { k: "a" } | { k: "b" }>;  // { k: "a", a: number } | { k: "b", b: string }
->T13 : T13
+>T13 : { k: "a"; a: number; } | { k: "b"; b: string; }
 >k : "a"
 >k : "b"
 
 type T14 = Exclude<Options, { q: "a" }>;  // Options
->T14 : T14
+>T14 : { k: "a"; a: number; } | { k: "b"; b: string; } | { k: "c"; c: boolean; }
 >q : "a"
 
 type T15 = Extract<Options, { q: "a" }>;  // never
@@ -150,13 +150,13 @@ type OptionsOfKind<K extends Options["k"]> = Extract<Options, { k: K }>;
 >k : K
 
 type T16 = OptionsOfKind<"a" | "b">;  // { k: "a", a: number } | { k: "b", b: string }
->T16 : T16
+>T16 : { k: "a"; a: number; } | { k: "b"; b: string; }
 
 type Select<T, K extends keyof T, V extends T[K]> = Extract<T, { [P in K]: V }>;
 >Select : Select<T, K, V>
 
 type T17 = Select<Options, "k", "a" | "b">;  // // { k: "a", a: number } | { k: "b", b: string }
->T17 : T17
+>T17 : { k: "a"; a: number; } | { k: "b"; b: string; }
 
 type TypeName<T> =
 >TypeName : TypeName<T>
@@ -169,7 +169,7 @@ type TypeName<T> =
     "object";
 
 type T20 = TypeName<string | (() => void)>;  // "string" | "function"
->T20 : T20
+>T20 : "string" | "function"
 
 type T21 = TypeName<any>;  // "string" | "number" | "boolean" | "undefined" | "function" | "object"
 >T21 : "string" | "number" | "boolean" | "undefined" | "object" | "function"
@@ -239,10 +239,10 @@ type NonFunctionProperties<T> = Pick<T, NonFunctionPropertyNames<T>>;
 >NonFunctionProperties : NonFunctionProperties<T>
 
 type T30 = FunctionProperties<Part>;
->T30 : T30
+>T30 : { updatePart: (newName: string) => void; }
 
 type T31 = NonFunctionProperties<Part>;
->T31 : T31
+>T31 : { id: number; name: string; subparts: Part[]; }
 
 function f7<T>(x: T, y: FunctionProperties<T>, z: NonFunctionProperties<T>) {
 >f7 : <T>(x: T, y: FunctionProperties<T>, z: NonFunctionProperties<T>) => void
@@ -559,7 +559,7 @@ type N2 = Not<true>;  // false
 >true : true
 
 type N3 = Not<boolean>;  // boolean
->N3 : N3
+>N3 : boolean
 
 type A1 = And<false, false>;  // false
 >A1 : false
@@ -590,7 +590,7 @@ type A6 = And<false, boolean>;  // false
 >false : false
 
 type A7 = And<boolean, true>;  // boolean
->A7 : A7
+>A7 : boolean
 >true : true
 
 type A8 = And<true, boolean>;  // boolean
@@ -598,7 +598,7 @@ type A8 = And<true, boolean>;  // boolean
 >true : true
 
 type A9 = And<boolean, boolean>;  // boolean
->A9 : A9
+>A9 : boolean
 
 type O1 = Or<false, false>;  // false
 >O1 : false
@@ -621,7 +621,7 @@ type O4 = Or<true, true>;  // true
 >true : true
 
 type O5 = Or<boolean, false>;  // boolean
->O5 : O5
+>O5 : boolean
 >false : false
 
 type O6 = Or<false, boolean>;  // boolean
@@ -637,7 +637,7 @@ type O8 = Or<true, boolean>;  // true
 >true : true
 
 type O9 = Or<boolean, boolean>;  // boolean
->O9 : O9
+>O9 : boolean
 
 type T40 = never extends never ? true : false;  // true
 >T40 : true
@@ -977,13 +977,13 @@ type NonFooKeys2<T extends object> = Exclude<keyof T, 'foo'>;
 >NonFooKeys2 : NonFooKeys2<T>
 
 type Test1 = NonFooKeys1<{foo: 1, bar: 2, baz: 3}>;  // "bar" | "baz"
->Test1 : Test1
+>Test1 : "bar" | "baz"
 >foo : 1
 >bar : 2
 >baz : 3
 
 type Test2 = NonFooKeys2<{foo: 1, bar: 2, baz: 3}>;  // "bar" | "baz"
->Test2 : Test2
+>Test2 : "bar" | "baz"
 >foo : 1
 >bar : 2
 >baz : 3
@@ -997,7 +997,7 @@ interface Bar2 { bar: string; }
 >bar : string
 
 type FooBar = Foo2 | Bar2;
->FooBar : FooBar
+>FooBar : Foo2 | Bar2
 
 declare interface ExtractFooBar<FB extends FooBar> { }
 
diff --git a/tests/baselines/reference/conditionalTypes2.types b/tests/baselines/reference/conditionalTypes2.types
index d5344f98e3501..8c72188b7925e 100644
--- a/tests/baselines/reference/conditionalTypes2.types
+++ b/tests/baselines/reference/conditionalTypes2.types
@@ -141,11 +141,11 @@ function f12(x: string | (() => string) | undefined) {
 }
 
 type Foo = { foo: string };
->Foo : Foo
+>Foo : { foo: string; }
 >foo : string
 
 type Bar = { bar: string };
->Bar : Bar
+>Bar : { bar: string; }
 >bar : string
 
 declare function fooBar(x: { foo: string, bar: string }): void;
@@ -369,7 +369,7 @@ type T3 = MaybeTrue<{ b: boolean }>;  // "yes"
 // Repro from #28824
 
 type Union = 'a' | 'b';
->Union : Union
+>Union : "b" | "a"
 
 type Product<A extends Union, B> = { f1: A, f2: B};
 >Product : Product<A, B>
@@ -377,11 +377,11 @@ type Product<A extends Union, B> = { f1: A, f2: B};
 >f2 : B
 
 type ProductUnion = Product<'a', 0> | Product<'b', 1>;
->ProductUnion : ProductUnion
+>ProductUnion : Product<"a", 0> | Product<"b", 1>
 
 // {a: "b"; b: "a"}
 type UnionComplement = {
->UnionComplement : UnionComplement
+>UnionComplement : { b: "a"; a: "b"; }
 
   [K in Union]: Exclude<Union, K>
 };
@@ -393,7 +393,7 @@ type UCB = UnionComplement['b'];
 
 // {a: "a"; b: "b"}
 type UnionComplementComplement = {
->UnionComplementComplement : UnionComplementComplement
+>UnionComplementComplement : { b: "b"; a: "a"; }
 
   [K in Union]: Exclude<Union, Exclude<Union, K>>
 };
@@ -405,7 +405,7 @@ type UCCB = UnionComplementComplement['b'];
 
 // {a: Product<'b', 1>; b: Product<'a', 0>}
 type ProductComplement = {
->ProductComplement : ProductComplement
+>ProductComplement : { b: Product<"a", 0>; a: Product<"b", 1>; }
 
   [K in Union]: Exclude<ProductUnion, { f1: K }>
 >f1 : K
@@ -419,7 +419,7 @@ type PCB = ProductComplement['b'];
 
 // {a: Product<'a', 0>; b: Product<'b', 1>}
 type ProductComplementComplement = {
->ProductComplementComplement : ProductComplementComplement
+>ProductComplementComplement : { b: Product<"b", 1>; a: Product<"a", 0>; }
 
   [K in Union]: Exclude<ProductUnion, Exclude<ProductUnion, { f1: K }>>
 >f1 : K
diff --git a/tests/baselines/reference/constAssertions.types b/tests/baselines/reference/constAssertions.types
index 476c197cfb9bc..e764b8c6c3007 100644
--- a/tests/baselines/reference/constAssertions.types
+++ b/tests/baselines/reference/constAssertions.types
@@ -453,10 +453,10 @@ function ff3(x: 'foo' | 'bar', y: object) {
 }
 
 type Action = "verify" | "write";
->Action : Action
+>Action : "verify" | "write"
 
 type ContentMatch = "match" | "nonMatch";
->ContentMatch : ContentMatch
+>ContentMatch : "match" | "nonMatch"
 
 type Outcome = `${Action}_${ContentMatch}`;
 >Outcome : "verify_match" | "verify_nonMatch" | "write_match" | "write_nonMatch"
diff --git a/tests/baselines/reference/constraintOfRecursivelyMappedTypeWithConditionalIsResolvable.types b/tests/baselines/reference/constraintOfRecursivelyMappedTypeWithConditionalIsResolvable.types
index 1170aa71c4827..b3f5a0e9f91b0 100644
--- a/tests/baselines/reference/constraintOfRecursivelyMappedTypeWithConditionalIsResolvable.types
+++ b/tests/baselines/reference/constraintOfRecursivelyMappedTypeWithConditionalIsResolvable.types
@@ -6,7 +6,7 @@ interface Map<K, V> {
 }
 
 export type ImmutableTypes = IImmutableMap<any>;
->ImmutableTypes : ImmutableTypes
+>ImmutableTypes : IImmutableMap<any>
 
 export type ImmutableModel<T> = { [K in keyof T]: T[K] extends ImmutableTypes ? T[K] : never };
 >ImmutableModel : ImmutableModel<T>
@@ -19,7 +19,7 @@ export interface IImmutableMap<T extends ImmutableModel<T>> extends Map<string,
 }
 
 export type ImmutableTypes2 = IImmutableMap2<any>;
->ImmutableTypes2 : ImmutableTypes2
+>ImmutableTypes2 : IImmutableMap2<any>
 
 type isImmutableType<T> = [T] extends [ImmutableTypes2] ? T : never;
 >isImmutableType : isImmutableType<T>
diff --git a/tests/baselines/reference/contextualOverloadListFromUnionWithPrimitiveNoImplicitAny.types b/tests/baselines/reference/contextualOverloadListFromUnionWithPrimitiveNoImplicitAny.types
index c9a236a44ef10..e561a05bc89b5 100644
--- a/tests/baselines/reference/contextualOverloadListFromUnionWithPrimitiveNoImplicitAny.types
+++ b/tests/baselines/reference/contextualOverloadListFromUnionWithPrimitiveNoImplicitAny.types
@@ -1,7 +1,7 @@
 === tests/cases/compiler/contextualOverloadListFromUnionWithPrimitiveNoImplicitAny.ts ===
 // must target esnext for `String.normalize` to exist
 type Validate = (text: string, pos: number, self: Rule) => number | boolean;
->Validate : Validate
+>Validate : (text: string, pos: number, self: Rule) => number | boolean
 >text : string
 >pos : number
 >self : Rule
@@ -17,7 +17,7 @@ interface FullRule {
 }
 
 type Rule = string | FullRule;
->Rule : Rule
+>Rule : string | FullRule
 
 const obj: {field: Rule} = {
 >obj : { field: Rule; }
diff --git a/tests/baselines/reference/contextualTypeOfIndexedAccessParameter.types b/tests/baselines/reference/contextualTypeOfIndexedAccessParameter.types
index c72f7b139912a..5baf2f4a62a49 100644
--- a/tests/baselines/reference/contextualTypeOfIndexedAccessParameter.types
+++ b/tests/baselines/reference/contextualTypeOfIndexedAccessParameter.types
@@ -1,9 +1,9 @@
 === tests/cases/compiler/contextualTypeOfIndexedAccessParameter.ts ===
 type Keys = "a" | "b";
->Keys : Keys
+>Keys : "a" | "b"
 
 type OptionsForKey = { a: { cb: (p: number) => number } } & { b: {} };
->OptionsForKey : OptionsForKey
+>OptionsForKey : { a: { cb: (p: number) => number; }; } & { b: {}; }
 >a : { cb: (p: number) => number; }
 >cb : (p: number) => number
 >p : number
diff --git a/tests/baselines/reference/contextualTypeShouldBeLiteral.types b/tests/baselines/reference/contextualTypeShouldBeLiteral.types
index d9795c7e33f7c..56f5b3c363e8a 100644
--- a/tests/baselines/reference/contextualTypeShouldBeLiteral.types
+++ b/tests/baselines/reference/contextualTypeShouldBeLiteral.types
@@ -243,7 +243,7 @@ interface TestString {
 }
 
 type TestGeneric = (TestString | TestObject) & { [k: string]: any; };
->TestGeneric : TestGeneric
+>TestGeneric : (TestObject | TestString) & { [k: string]: any; }
 >k : string
 
 const test: TestGeneric = {
diff --git a/tests/baselines/reference/contextualTypingArrayDestructuringWithDefaults.types b/tests/baselines/reference/contextualTypingArrayDestructuringWithDefaults.types
index 30e35d683dbd3..5425ab030b62c 100644
--- a/tests/baselines/reference/contextualTypingArrayDestructuringWithDefaults.types
+++ b/tests/baselines/reference/contextualTypingArrayDestructuringWithDefaults.types
@@ -1,6 +1,6 @@
 === tests/cases/compiler/contextualTypingArrayDestructuringWithDefaults.ts ===
 type I = { a: "a" };
->I : I
+>I : { a: "a"; }
 >a : "a"
 
 let [ c0 = {a: "a"} ]: [I?] = [];
diff --git a/tests/baselines/reference/contextualTypingOfTooShortOverloads.types b/tests/baselines/reference/contextualTypingOfTooShortOverloads.types
index 621bc0751793f..ede485d8360ab 100644
--- a/tests/baselines/reference/contextualTypingOfTooShortOverloads.types
+++ b/tests/baselines/reference/contextualTypingOfTooShortOverloads.types
@@ -60,10 +60,10 @@ interface IRouterMatcher<T> {
 }
 
 type PathParams = string | RegExp | (string | RegExp)[];
->PathParams : PathParams
+>PathParams : string | RegExp | (string | RegExp)[]
 
 type RequestHandlerParams = RequestHandler | ErrorRequestHandler | (RequestHandler | ErrorRequestHandler)[];
->RequestHandlerParams : RequestHandlerParams
+>RequestHandlerParams : RequestHandler | ErrorRequestHandler | (RequestHandler | ErrorRequestHandler)[]
 
 interface RequestHandler {
     (req: Request, res: Response, next: NextFunction): any;
diff --git a/tests/baselines/reference/contextuallyTypedByDiscriminableUnion.types b/tests/baselines/reference/contextuallyTypedByDiscriminableUnion.types
index f67d3948b0003..b3fde6f144846 100644
--- a/tests/baselines/reference/contextuallyTypedByDiscriminableUnion.types
+++ b/tests/baselines/reference/contextuallyTypedByDiscriminableUnion.types
@@ -1,6 +1,6 @@
 === tests/cases/compiler/contextuallyTypedByDiscriminableUnion.ts ===
 type ADT = {
->ADT : ADT
+>ADT : { kind: "a"; method(x: string): number; } | { kind: "b"; method(x: number): string; }
 
     kind: "a",
 >kind : "a"
diff --git a/tests/baselines/reference/contextuallyTypedSymbolNamedProperties.types b/tests/baselines/reference/contextuallyTypedSymbolNamedProperties.types
index 7f3da21666af0..508845c83f6c4 100644
--- a/tests/baselines/reference/contextuallyTypedSymbolNamedProperties.types
+++ b/tests/baselines/reference/contextuallyTypedSymbolNamedProperties.types
@@ -14,7 +14,7 @@ const B = Symbol("B");
 >"B" : "B"
 
 type Action =
->Action : Action
+>Action : { type: typeof A; data: string; } | { type: typeof B; data: number; }
 
     | {type: typeof A, data: string}
 >type : unique symbol
diff --git a/tests/baselines/reference/controlFlowAliasing.types b/tests/baselines/reference/controlFlowAliasing.types
index a3c7f9f7f4f19..b7c73a1d9fa62 100644
--- a/tests/baselines/reference/controlFlowAliasing.types
+++ b/tests/baselines/reference/controlFlowAliasing.types
@@ -844,7 +844,7 @@ function f40(obj: { kind: 'foo', foo?: string } | { kind: 'bar', bar?: number })
 // Unsupported narrowing of destructured payload by destructured discriminant
 
 type Data = { kind: 'str', payload: string } | { kind: 'num', payload: number };
->Data : Data
+>Data : { kind: 'str'; payload: string; } | { kind: 'num'; payload: number; }
 >kind : "str"
 >payload : string
 >kind : "num"
diff --git a/tests/baselines/reference/controlFlowAssignmentExpression.types b/tests/baselines/reference/controlFlowAssignmentExpression.types
index d56aee7c76727..8724a73fd8d9c 100644
--- a/tests/baselines/reference/controlFlowAssignmentExpression.types
+++ b/tests/baselines/reference/controlFlowAssignmentExpression.types
@@ -47,7 +47,7 @@ x; // number
 
 // https://github.com/microsoft/TypeScript/issues/35484
 type D = { done: true, value: 1 } | { done: false, value: 2 };
->D : D
+>D : { done: true; value: 1; } | { done: false; value: 2; }
 >done : true
 >true : true
 >value : 1
diff --git a/tests/baselines/reference/controlFlowBinaryOrExpression.types b/tests/baselines/reference/controlFlowBinaryOrExpression.types
index 8e43d38765357..9c188295a82f0 100644
--- a/tests/baselines/reference/controlFlowBinaryOrExpression.types
+++ b/tests/baselines/reference/controlFlowBinaryOrExpression.types
@@ -54,7 +54,7 @@ declare function isHTMLCollection(sourceObj: any): sourceObj is HTMLCollection;
 >sourceObj : any
 
 type EventTargetLike = {a: string} | HTMLCollection | NodeList;
->EventTargetLike : EventTargetLike
+>EventTargetLike : NodeList | HTMLCollection | { a: string; }
 >a : string
 
 var sourceObj: EventTargetLike = <any>undefined;
diff --git a/tests/baselines/reference/controlFlowDestructuringLoop.types b/tests/baselines/reference/controlFlowDestructuringLoop.types
index a4735399f9e4a..c0b86606c0f96 100644
--- a/tests/baselines/reference/controlFlowDestructuringLoop.types
+++ b/tests/baselines/reference/controlFlowDestructuringLoop.types
@@ -8,7 +8,7 @@ interface StrVal { val: string; }
 >val : string
 
 type Val = NumVal | StrVal;
->Val : Val
+>Val : NumVal | StrVal
 
 function isNumVal(x: Val): x is NumVal {
 >isNumVal : (x: Val) => x is NumVal
diff --git a/tests/baselines/reference/controlFlowForCatchAndFinally.types b/tests/baselines/reference/controlFlowForCatchAndFinally.types
index c159655a0a816..450aa2d595d54 100644
--- a/tests/baselines/reference/controlFlowForCatchAndFinally.types
+++ b/tests/baselines/reference/controlFlowForCatchAndFinally.types
@@ -1,11 +1,11 @@
 === tests/cases/compiler/controlFlowForCatchAndFinally.ts ===
 type Page = {close(): Promise<void>; content(): Promise<string>};
->Page : Page
+>Page : { close(): Promise<void>; content(): Promise<string>; }
 >close : () => Promise<void>
 >content : () => Promise<string>
 
 type Browser = {close(): Promise<void>};
->Browser : Browser
+>Browser : { close(): Promise<void>; }
 >close : () => Promise<void>
 
 declare function test1(): Promise<Browser>;
diff --git a/tests/baselines/reference/controlFlowForInStatement2.types b/tests/baselines/reference/controlFlowForInStatement2.types
index 2705b8b7d51ed..bf69cfe70a0dd 100644
--- a/tests/baselines/reference/controlFlowForInStatement2.types
+++ b/tests/baselines/reference/controlFlowForInStatement2.types
@@ -8,12 +8,12 @@ const keywordB = 'b';
 >'b' : "b"
 
 type A = { [keywordA]: number };
->A : A
+>A : { a: number; }
 >[keywordA] : number
 >keywordA : "a"
 
 type B = { [keywordB]: string };
->B : B
+>B : { b: string; }
 >[keywordB] : string
 >keywordB : "b"
 
diff --git a/tests/baselines/reference/controlFlowGenericTypes.types b/tests/baselines/reference/controlFlowGenericTypes.types
index 6ee07abf4d63c..fc502a7dede82 100644
--- a/tests/baselines/reference/controlFlowGenericTypes.types
+++ b/tests/baselines/reference/controlFlowGenericTypes.types
@@ -196,22 +196,22 @@ export function bounceAndTakeIfA<AB extends 'A' | 'B'>(value: AB): AB {
 // Repro from #13995
 
 type Common = { id: number };
->Common : Common
+>Common : { id: number; }
 >id : number
 
 type AA = { tag: 'A', id: number };
->AA : AA
+>AA : { tag: 'A'; id: number; }
 >tag : "A"
 >id : number
 
 type BB = { tag: 'B', id: number, foo: number };
->BB : BB
+>BB : { tag: 'B'; id: number; foo: number; }
 >tag : "B"
 >id : number
 >foo : number
 
 type MyUnion = AA | BB;
->MyUnion : MyUnion
+>MyUnion : AA | BB
 
 const fn = (value: MyUnion) => {
 >fn : (value: MyUnion) => void
@@ -284,7 +284,7 @@ const fn2 = <T extends MyUnion>(value: T): MyUnion => {
 // Repro from #13995
 
 type A1 = {
->A1 : A1
+>A1 : { testable: true; doTest: () => void; }
 
     testable: true
 >testable : true
@@ -294,7 +294,7 @@ type A1 = {
 >doTest : () => void
 }
 type B1 = {
->B1 : B1
+>B1 : { testable: false; }
 
     testable: false
 >testable : false
@@ -303,7 +303,7 @@ type B1 = {
 };
 
 type Union = A1 | B1
->Union : Union
+>Union : A1 | B1
 
 function notWorking<T extends Union>(object: T) {
 >notWorking : <T extends Union>(object: T) => void
@@ -561,7 +561,7 @@ interface Checkbox {
 }
 
 type Control = Button | Checkbox;
->Control : Control
+>Control : Button | Checkbox
 
 function update<T extends Control, K extends keyof T>(control : T | undefined, key: K, value: T[K]): void {
 >update : <T extends Control, K extends keyof T>(control: T | undefined, key: K, value: T[K]) => void
diff --git a/tests/baselines/reference/controlFlowInOperator.types b/tests/baselines/reference/controlFlowInOperator.types
index cae50e4052f8e..fb1c3f8ccc044 100644
--- a/tests/baselines/reference/controlFlowInOperator.types
+++ b/tests/baselines/reference/controlFlowInOperator.types
@@ -12,12 +12,12 @@ const d = 'd';
 >'d' : "d"
 
 type A = { [a]: number; };
->A : A
+>A : { a: number; }
 >[a] : number
 >a : "a"
 
 type B = { [b]: string; };
->B : B
+>B : { b: string; }
 >[b] : string
 >b : "b"
 
diff --git a/tests/baselines/reference/controlFlowOptionalChain.types b/tests/baselines/reference/controlFlowOptionalChain.types
index 4e335fca6d287..823d07ca8bf7d 100644
--- a/tests/baselines/reference/controlFlowOptionalChain.types
+++ b/tests/baselines/reference/controlFlowOptionalChain.types
@@ -635,7 +635,7 @@ function f01(x: unknown) {
 }
 
 type Thing = { foo: string | number, bar(): number, baz: object };
->Thing : Thing
+>Thing : { foo: string | number; bar(): number; baz: object; }
 >foo : string | number
 >bar : () => number
 >baz : object
@@ -1870,7 +1870,7 @@ function f41(o: Thing | undefined) {
 // Repros from #34570
 
 type Shape =
->Shape : Shape
+>Shape : { type: 'rectangle'; width: number; height: number; } | { type: 'circle'; radius: number; }
 
     | { type: 'rectangle', width: number, height: number }
 >type : "rectangle"
@@ -1923,7 +1923,7 @@ function getArea(shape?: Shape) {
 }
 
 type Feature = {
->Feature : Feature
+>Feature : { id: string; geometry?: { type: string; coordinates: number[]; } | undefined; }
 
   id: string;
 >id : string
diff --git a/tests/baselines/reference/controlFlowOptionalChain2.types b/tests/baselines/reference/controlFlowOptionalChain2.types
index f3b2d1cd573d9..c2857e8761637 100644
--- a/tests/baselines/reference/controlFlowOptionalChain2.types
+++ b/tests/baselines/reference/controlFlowOptionalChain2.types
@@ -1,6 +1,6 @@
 === tests/cases/conformance/controlFlow/controlFlowOptionalChain2.ts ===
 type A = {
->A : A
+>A : { type: 'A'; name: string; }
 
   type: 'A';
 >type : "A"
@@ -10,7 +10,7 @@ type A = {
 }
 
 type B = {
->B : B
+>B : { type: 'B'; }
 
   type: 'B';
 >type : "B"
@@ -70,18 +70,18 @@ function funcThree(arg: A | B | null) {
 }
 
 type U = { kind: undefined, u: 'u' }
->U : U
+>U : { kind: undefined; u: 'u'; }
 >kind : undefined
 >u : "u"
 
 type N = { kind: null, n: 'n' }
->N : N
+>N : { kind: null; n: 'n'; }
 >kind : null
 >null : null
 >n : "n"
 
 type X = { kind: 'X', x: 'x' }
->X : X
+>X : { kind: 'X'; x: 'x'; }
 >kind : "X"
 >x : "x"
 
diff --git a/tests/baselines/reference/controlFlowStringIndex.types b/tests/baselines/reference/controlFlowStringIndex.types
index 521db65b4af69..4baba673c7e12 100644
--- a/tests/baselines/reference/controlFlowStringIndex.types
+++ b/tests/baselines/reference/controlFlowStringIndex.types
@@ -1,6 +1,6 @@
 === tests/cases/conformance/controlFlow/controlFlowStringIndex.ts ===
 type A = {
->A : A
+>A : { [index: string]: number | null; other: number | null; }
 
     other: number | null;
 >other : number | null
diff --git a/tests/baselines/reference/correlatedUnions.types b/tests/baselines/reference/correlatedUnions.types
index ec83dd5426dfa..6d2074195b17c 100644
--- a/tests/baselines/reference/correlatedUnions.types
+++ b/tests/baselines/reference/correlatedUnions.types
@@ -2,7 +2,7 @@
 // Various repros from #30581
 
 type RecordMap = { n: number, s: string, b: boolean };
->RecordMap : RecordMap
+>RecordMap : { n: number; s: string; b: boolean; }
 >n : number
 >s : string
 >b : boolean
@@ -71,16 +71,16 @@ processRecord({ kind: 'n', v: 42, f: v => v.toExponential() });
 // --------
 
 type TextFieldData = { value: string }
->TextFieldData : TextFieldData
+>TextFieldData : { value: string; }
 >value : string
 
 type SelectFieldData = { options: string[], selectedValue: string }
->SelectFieldData : SelectFieldData
+>SelectFieldData : { options: string[]; selectedValue: string; }
 >options : string[]
 >selectedValue : string
 
 type FieldMap = {
->FieldMap : FieldMap
+>FieldMap : { text: TextFieldData; select: SelectFieldData; }
 
     text: TextFieldData;
 >text : TextFieldData
@@ -99,7 +99,7 @@ type RenderFunc<K extends keyof FieldMap> = (props: FieldMap[K]) => void;
 >props : FieldMap[K]
 
 type RenderFuncMap = { [K in keyof FieldMap]: RenderFunc<K> };
->RenderFuncMap : RenderFuncMap
+>RenderFuncMap : { text: RenderFunc<"text">; select: RenderFunc<"select">; }
 
 function renderTextField(props: TextFieldData) {}
 >renderTextField : (props: TextFieldData) => void
@@ -146,7 +146,7 @@ function renderField<K extends keyof FieldMap>(field: FormField<K>) {
 // --------
 
 type TypeMap = {
->TypeMap : TypeMap
+>TypeMap : { foo: string; bar: number; }
 
     foo: string,
 >foo : string
@@ -160,7 +160,7 @@ type Keys = keyof TypeMap;
 >Keys : keyof TypeMap
 
 type HandlerMap = { [P in Keys]: (x: TypeMap[P]) => void };
->HandlerMap : HandlerMap
+>HandlerMap : { foo: (x: string) => void; bar: (x: number) => void; }
 >x : TypeMap[P]
 
 const handlers: HandlerMap = {
@@ -276,7 +276,7 @@ process([{ type: 'foo', data: 'abc' }]);
 // --------
 
 type LetterMap = { A: string, B: number }
->LetterMap : LetterMap
+>LetterMap : { A: string; B: number; }
 >A : string
 >B : number
 
@@ -298,19 +298,19 @@ function call<K extends keyof LetterMap>({ letter, caller }: LetterCaller<K>): v
 }
 
 type A = { A: string };
->A : A
+>A : { A: string; }
 >A : string
 
 type B = { B: number };
->B : B
+>B : { B: number; }
 >B : number
 
 type ACaller = (a: A) => void;
->ACaller : ACaller
+>ACaller : (a: A) => void
 >a : A
 
 type BCaller = (b: B) => void;
->BCaller : BCaller
+>BCaller : (b: B) => void
 >b : B
 
 declare const xx: { letter: A, caller: ACaller } | { letter: B, caller: BCaller };
@@ -552,7 +552,7 @@ function ff1() {
 // Repro from #47368
 
 type ArgMap = { a: number, b: string };
->ArgMap : ArgMap
+>ArgMap : { a: number; b: string; }
 >a : number
 >b : string
 
@@ -561,7 +561,7 @@ type Func<K extends keyof ArgMap> = (x: ArgMap[K]) => void;
 >x : ArgMap[K]
 
 type Funcs = { [K in keyof ArgMap]: Func<K> };
->Funcs : Funcs
+>Funcs : { a: Func<"a">; b: Func<"b">; }
 
 function f1<K extends keyof ArgMap>(funcs: Funcs, key: K, arg: ArgMap[K]) {
 >f1 : <K extends keyof ArgMap>(funcs: Funcs, key: K, arg: ArgMap[K]) => void
@@ -751,5 +751,5 @@ type BarLookup = typeof BAR_LOOKUP;
 >BAR_LOOKUP : { a: { readonly name: "a"; }; b: { readonly name: "b"; }; }
 
 type Baz = { [K in keyof BarLookup]: BarLookup[K]['name'] };
->Baz : Baz
+>Baz : { a: "a"; b: "b"; }
 
diff --git a/tests/baselines/reference/crashInGetTextOfComputedPropertyName.types b/tests/baselines/reference/crashInGetTextOfComputedPropertyName.types
index 7d9ce4aa34b65..d5a97ecb392da 100644
--- a/tests/baselines/reference/crashInGetTextOfComputedPropertyName.types
+++ b/tests/baselines/reference/crashInGetTextOfComputedPropertyName.types
@@ -7,7 +7,7 @@ export interface B { type: 'b' }
 >type : "b"
 
 export type AB = A | B
->AB : AB
+>AB : A | B
 
 const itemId = 'some-id'
 >itemId : "some-id"
diff --git a/tests/baselines/reference/declFileTypeAnnotationTypeAlias.types b/tests/baselines/reference/declFileTypeAnnotationTypeAlias.types
index 4f8a9cf021867..290628c7128c6 100644
--- a/tests/baselines/reference/declFileTypeAnnotationTypeAlias.types
+++ b/tests/baselines/reference/declFileTypeAnnotationTypeAlias.types
@@ -3,7 +3,7 @@ module M {
 >M : typeof M
 
     export type Value = string | number | boolean;
->Value : Value
+>Value : string | number | boolean
 
     export var x: Value;
 >x : Value
@@ -28,7 +28,7 @@ module M {
 >m : any
 
     export type fc = () => c;
->fc : fc
+>fc : () => c
 }
 
 interface Window {
@@ -40,7 +40,7 @@ module M {
 >M : typeof M
 
     export type W = Window | string;
->W : W
+>W : string | Window
 
     export module N {
 >N : typeof N
diff --git a/tests/baselines/reference/declFileTypeAnnotationVisibilityErrorTypeAlias.types b/tests/baselines/reference/declFileTypeAnnotationVisibilityErrorTypeAlias.types
index e1f08d5893836..06ca2c0f0cb61 100644
--- a/tests/baselines/reference/declFileTypeAnnotationVisibilityErrorTypeAlias.types
+++ b/tests/baselines/reference/declFileTypeAnnotationVisibilityErrorTypeAlias.types
@@ -8,7 +8,7 @@ module M {
 >M : typeof M
 
     type W = Window | string;
->W : W
+>W : string | Window
 
     export module N {
 >N : typeof N
@@ -25,7 +25,7 @@ module M1 {
 >M1 : typeof M1
 
     export type W = Window | string;
->W : W
+>W : string | Window
 
     export module N {
 >N : typeof N
diff --git a/tests/baselines/reference/declarationEmitAliasFromIndirectFile.types b/tests/baselines/reference/declarationEmitAliasFromIndirectFile.types
index a663e3283eae6..db3aae7ef4d8b 100644
--- a/tests/baselines/reference/declarationEmitAliasFromIndirectFile.types
+++ b/tests/baselines/reference/declarationEmitAliasFromIndirectFile.types
@@ -1,6 +1,6 @@
 === tests/cases/compiler/locale.d.ts ===
 export type Locale = {
->Locale : Locale
+>Locale : { weekdays: {    shorthand: [string, string, string, string, string, string, string];    longhand: [string, string, string, string, string, string, string];}; }
 
     weekdays: {
 >weekdays : { shorthand: [string, string, string, string, string, string, string]; longhand: [string, string, string, string, string, string, string]; }
@@ -14,7 +14,7 @@ export type Locale = {
     };
 };
 export type CustomLocale = {
->CustomLocale : CustomLocale
+>CustomLocale : { weekdays: {    shorthand: [string, string, string, string, string, string, string];    longhand: [string, string, string, string, string, string, string];}; }
 
     weekdays: {
 >weekdays : { shorthand: [string, string, string, string, string, string, string]; longhand: [string, string, string, string, string, string, string]; }
@@ -28,7 +28,7 @@ export type CustomLocale = {
     };
 };
 export type key = "ar" | "bg";
->key : key
+>key : "ar" | "bg"
 
 === tests/cases/compiler/instance.d.ts ===
 import { Locale, CustomLocale, key as LocaleKey } from "./locale";
diff --git a/tests/baselines/reference/declarationEmitDestructuringParameterProperties.types b/tests/baselines/reference/declarationEmitDestructuringParameterProperties.types
index d76fd67f9d65a..47f57b4693b1c 100644
--- a/tests/baselines/reference/declarationEmitDestructuringParameterProperties.types
+++ b/tests/baselines/reference/declarationEmitDestructuringParameterProperties.types
@@ -10,7 +10,7 @@ class C1 {
 }
 
 type TupleType1 =[string, number, boolean];
->TupleType1 : TupleType1
+>TupleType1 : [string, number, boolean]
 
 class C2 {
 >C2 : C2
@@ -23,7 +23,7 @@ class C2 {
 }
 
 type ObjType1 = { x: number; y: string; z: boolean }
->ObjType1 : ObjType1
+>ObjType1 : { x: number; y: string; z: boolean; }
 >x : number
 >y : string
 >z : boolean
diff --git a/tests/baselines/reference/declarationEmitExportAliasVisibiilityMarking.types b/tests/baselines/reference/declarationEmitExportAliasVisibiilityMarking.types
index bf9666f3082b1..28684e8ea851c 100644
--- a/tests/baselines/reference/declarationEmitExportAliasVisibiilityMarking.types
+++ b/tests/baselines/reference/declarationEmitExportAliasVisibiilityMarking.types
@@ -1,9 +1,9 @@
 === tests/cases/compiler/Types.ts ===
 type Suit = 'Hearts' | 'Spades' | 'Clubs' | 'Diamonds';
->Suit : Suit
+>Suit : "Hearts" | "Spades" | "Clubs" | "Diamonds"
 
 type Rank = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 'Jack' | 'Queen' | 'King';
->Rank : Rank
+>Rank : 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | "Jack" | "Queen" | "King"
 
 export { Suit, Rank };
 >Suit : any
diff --git a/tests/baselines/reference/declarationEmitExpressionWithNonlocalPrivateUniqueSymbol.types b/tests/baselines/reference/declarationEmitExpressionWithNonlocalPrivateUniqueSymbol.types
index 3582fd3db6b80..b92654ce3811c 100644
--- a/tests/baselines/reference/declarationEmitExpressionWithNonlocalPrivateUniqueSymbol.types
+++ b/tests/baselines/reference/declarationEmitExpressionWithNonlocalPrivateUniqueSymbol.types
@@ -1,6 +1,6 @@
 === tests/cases/compiler/a.ts ===
 type AX = { readonly A: unique symbol };
->AX : AX
+>AX : { readonly A: unique symbol; }
 >A : unique symbol
 
 export const A: AX = 0 as any;
diff --git a/tests/baselines/reference/declarationEmitInferredTypeAlias5.types b/tests/baselines/reference/declarationEmitInferredTypeAlias5.types
index 63d2cec4b9a99..98a575c0631c1 100644
--- a/tests/baselines/reference/declarationEmitInferredTypeAlias5.types
+++ b/tests/baselines/reference/declarationEmitInferredTypeAlias5.types
@@ -1,6 +1,6 @@
 === tests/cases/compiler/0.ts ===
 export type Data = string | boolean;
->Data : Data
+>Data : string | boolean
 
 let obj: Data = true;
 >obj : Data
diff --git a/tests/baselines/reference/declarationEmitInferredTypeAlias7.types b/tests/baselines/reference/declarationEmitInferredTypeAlias7.types
index a035da8453fcc..572315d62ff8a 100644
--- a/tests/baselines/reference/declarationEmitInferredTypeAlias7.types
+++ b/tests/baselines/reference/declarationEmitInferredTypeAlias7.types
@@ -1,6 +1,6 @@
 === tests/cases/compiler/0.ts ===
 export type Data = string | boolean;
->Data : Data
+>Data : string | boolean
 
 let obj: Data = true;
 >obj : Data
diff --git a/tests/baselines/reference/declarationEmitPathMappingMonorepo.types b/tests/baselines/reference/declarationEmitPathMappingMonorepo.types
index 8c4c1678c2967..d4fe2b7157b9a 100644
--- a/tests/baselines/reference/declarationEmitPathMappingMonorepo.types
+++ b/tests/baselines/reference/declarationEmitPathMappingMonorepo.types
@@ -3,7 +3,7 @@ declare module "@ts-bug/a" {
 >"@ts-bug/a" : typeof import("@ts-bug/a")
 
     export type AText = {
->AText : AText
+>AText : { value: string; }
 
       value: string;
 >value : string
diff --git a/tests/baselines/reference/declarationEmitQualifiedAliasTypeArgument.types b/tests/baselines/reference/declarationEmitQualifiedAliasTypeArgument.types
index e95f15377cc02..2e947507af8af 100644
--- a/tests/baselines/reference/declarationEmitQualifiedAliasTypeArgument.types
+++ b/tests/baselines/reference/declarationEmitQualifiedAliasTypeArgument.types
@@ -24,10 +24,10 @@ export enum E {
 }
 
 export type T = G<E>;
->T : T
+>T : { a: string; b: string; }
 
 export type Q = G<E.A>;
->Q : Q
+>Q : { a: string; }
 >E : any
 
 === tests/cases/compiler/index.ts ===
diff --git a/tests/baselines/reference/declarationEmitReexportedSymlinkReference.types b/tests/baselines/reference/declarationEmitReexportedSymlinkReference.types
index 50c770d525718..0ed089b529a91 100644
--- a/tests/baselines/reference/declarationEmitReexportedSymlinkReference.types
+++ b/tests/baselines/reference/declarationEmitReexportedSymlinkReference.types
@@ -2,21 +2,21 @@
 export * from './types';
 No type information for this code.=== tests/cases/compiler/monorepo/pkg1/dist/types.d.ts ===
 export declare type A = {
->A : A
+>A : { id: string; }
 
     id: string;
 >id : string
 
 };
 export declare type B = {
->B : B
+>B : { id: number; }
 
     id: number;
 >id : number
 
 };
 export declare type IdType = A | B;
->IdType : IdType
+>IdType : A | B
 
 export declare class MetadataAccessor<T, D extends IdType = IdType> {
 >MetadataAccessor : MetadataAccessor<T, D>
diff --git a/tests/baselines/reference/declarationEmitReexportedSymlinkReference2.types b/tests/baselines/reference/declarationEmitReexportedSymlinkReference2.types
index 1ecb9e7592298..e52c244ccc5a4 100644
--- a/tests/baselines/reference/declarationEmitReexportedSymlinkReference2.types
+++ b/tests/baselines/reference/declarationEmitReexportedSymlinkReference2.types
@@ -2,21 +2,21 @@
 export * from './types';
 No type information for this code.=== tests/cases/compiler/monorepo/pkg1/dist/types.d.ts ===
 export declare type A = {
->A : A
+>A : { id: string; }
 
     id: string;
 >id : string
 
 };
 export declare type B = {
->B : B
+>B : { id: number; }
 
     id: number;
 >id : number
 
 };
 export declare type IdType = A | B;
->IdType : IdType
+>IdType : A | B
 
 export declare class MetadataAccessor<T, D extends IdType = IdType> {
 >MetadataAccessor : MetadataAccessor<T, D>
diff --git a/tests/baselines/reference/declarationEmitReexportedSymlinkReference3.types b/tests/baselines/reference/declarationEmitReexportedSymlinkReference3.types
index e3f8347888466..06272b7baa950 100644
--- a/tests/baselines/reference/declarationEmitReexportedSymlinkReference3.types
+++ b/tests/baselines/reference/declarationEmitReexportedSymlinkReference3.types
@@ -2,21 +2,21 @@
 export * from './types';
 No type information for this code.=== tests/cases/compiler/monorepo/pkg1/dist/types.d.ts ===
 export declare type A = {
->A : A
+>A : { id: string; }
 
     id: string;
 >id : string
 
 };
 export declare type B = {
->B : B
+>B : { id: number; }
 
     id: number;
 >id : number
 
 };
 export declare type IdType = A | B;
->IdType : IdType
+>IdType : A | B
 
 export declare class MetadataAccessor<T, D extends IdType = IdType> {
 >MetadataAccessor : MetadataAccessor<T, D>
diff --git a/tests/baselines/reference/declarationEmitSymlinkPaths.types b/tests/baselines/reference/declarationEmitSymlinkPaths.types
index 2d79f6b4cc847..2b16d631796a5 100644
--- a/tests/baselines/reference/declarationEmitSymlinkPaths.types
+++ b/tests/baselines/reference/declarationEmitSymlinkPaths.types
@@ -5,10 +5,10 @@ export declare function test<T> (a: () => T): () => T;
 
 === /packages/search-prefix/src/API/NotificationAPIUtils.ts ===
 export type NotificationRequest = {};
->NotificationRequest : NotificationRequest
+>NotificationRequest : {}
 
 export type NotificationResponse = {};
->NotificationResponse : NotificationResponse
+>NotificationResponse : {}
 
 export function getNotification(): NotificationResponse {
 >getNotification : () => NotificationResponse
diff --git a/tests/baselines/reference/declarationsForFileShadowingGlobalNoError.types b/tests/baselines/reference/declarationsForFileShadowingGlobalNoError.types
index c15ad37bccca8..1c766f91ab2d0 100644
--- a/tests/baselines/reference/declarationsForFileShadowingGlobalNoError.types
+++ b/tests/baselines/reference/declarationsForFileShadowingGlobalNoError.types
@@ -4,7 +4,7 @@ export type DOMNode = Node;
 
 === tests/cases/compiler/custom.ts ===
 export type Node = {};
->Node : Node
+>Node : {}
 
 === tests/cases/compiler/index.ts ===
 import { Node } from './custom'
@@ -14,7 +14,7 @@ import { DOMNode } from './dom'
 >DOMNode : any
 
 type Constructor = new (...args: any[]) => any
->Constructor : Constructor
+>Constructor : new (...args: any[]) => any
 >args : any[]
 
 export const mixin = (Base: Constructor) => {
diff --git a/tests/baselines/reference/declarationsForIndirectTypeAliasReference.types b/tests/baselines/reference/declarationsForIndirectTypeAliasReference.types
index 85ebfca651f13..dfad078a2f35e 100644
--- a/tests/baselines/reference/declarationsForIndirectTypeAliasReference.types
+++ b/tests/baselines/reference/declarationsForIndirectTypeAliasReference.types
@@ -15,7 +15,7 @@ interface Hash<T> {
 }
 
 type StringHash = Hash<string>;
->StringHash : StringHash
+>StringHash : Hash<string>
 
 interface StringHash2 extends Hash<string> {}
 === tests/cases/compiler/a.ts ===
diff --git a/tests/baselines/reference/deeplyNestedConstraints.types b/tests/baselines/reference/deeplyNestedConstraints.types
index 2d8d34729068e..64eb0f1b2103f 100644
--- a/tests/baselines/reference/deeplyNestedConstraints.types
+++ b/tests/baselines/reference/deeplyNestedConstraints.types
@@ -2,7 +2,7 @@
 // Repro from #41931
 
 type Enum = Record<string, string | number>;
->Enum : Enum
+>Enum : { [x: string]: string | number; }
 
 type TypeMap<E extends Enum> = { [key in E[keyof E]]: number | boolean | string | number[] };
 >TypeMap : TypeMap<E>
diff --git a/tests/baselines/reference/defaultParameterAddsUndefinedWithStrictNullChecks.types b/tests/baselines/reference/defaultParameterAddsUndefinedWithStrictNullChecks.types
index ef1aca3806809..2d6e2966a2dd9 100644
--- a/tests/baselines/reference/defaultParameterAddsUndefinedWithStrictNullChecks.types
+++ b/tests/baselines/reference/defaultParameterAddsUndefinedWithStrictNullChecks.types
@@ -117,7 +117,7 @@ function foo4(x: string | undefined = undefined, b: number) {
 }
 
 type OptionalNullableString = string | null | undefined;
->OptionalNullableString : OptionalNullableString
+>OptionalNullableString : string | null | undefined
 >null : null
 
 function allowsNull(val: OptionalNullableString = "") {
diff --git a/tests/baselines/reference/deferredTypeReferenceWithinArrayWithinTuple.types b/tests/baselines/reference/deferredTypeReferenceWithinArrayWithinTuple.types
index f7a124d6ae92e..147d183e05ea5 100644
--- a/tests/baselines/reference/deferredTypeReferenceWithinArrayWithinTuple.types
+++ b/tests/baselines/reference/deferredTypeReferenceWithinArrayWithinTuple.types
@@ -1,6 +1,6 @@
 === tests/cases/compiler/deferredTypeReferenceWithinArrayWithinTuple.ts ===
 type TypeStructure =
->TypeStructure : TypeStructure
+>TypeStructure : ["or", TypeStructure[]] | ["string"] | ["number"] | ["list", TypeStructure]
 
   | ["or", TypeStructure[]] // problem is only here, when using array
   | ["string"]
diff --git a/tests/baselines/reference/deleteExpressionMustBeOptional(strict=false).types b/tests/baselines/reference/deleteExpressionMustBeOptional(strict=false).types
index 371bb25e96d82..a1b5f6359a88d 100644
--- a/tests/baselines/reference/deleteExpressionMustBeOptional(strict=false).types
+++ b/tests/baselines/reference/deleteExpressionMustBeOptional(strict=false).types
@@ -37,7 +37,7 @@ interface AA {
 }
 
 type BB = {
->BB : BB
+>BB : { [x: string]: number; }
 
     [P in keyof any]: number
 }
diff --git a/tests/baselines/reference/deleteExpressionMustBeOptional(strict=true).types b/tests/baselines/reference/deleteExpressionMustBeOptional(strict=true).types
index a3d6f52b7c436..b2277d20f6114 100644
--- a/tests/baselines/reference/deleteExpressionMustBeOptional(strict=true).types
+++ b/tests/baselines/reference/deleteExpressionMustBeOptional(strict=true).types
@@ -37,7 +37,7 @@ interface AA {
 }
 
 type BB = {
->BB : BB
+>BB : { [x: string]: number; }
 
     [P in keyof any]: number
 }
diff --git a/tests/baselines/reference/deleteExpressionMustBeOptional_exactOptionalPropertyTypes(exactoptionalpropertytypes=false).types b/tests/baselines/reference/deleteExpressionMustBeOptional_exactOptionalPropertyTypes(exactoptionalpropertytypes=false).types
index 79da5d0fe05d4..36da93480e881 100644
--- a/tests/baselines/reference/deleteExpressionMustBeOptional_exactOptionalPropertyTypes(exactoptionalpropertytypes=false).types
+++ b/tests/baselines/reference/deleteExpressionMustBeOptional_exactOptionalPropertyTypes(exactoptionalpropertytypes=false).types
@@ -37,7 +37,7 @@ interface AA {
 }
 
 type BB = {
->BB : BB
+>BB : { [x: string]: number; }
 
     [P in keyof any]: number
 }
diff --git a/tests/baselines/reference/deleteExpressionMustBeOptional_exactOptionalPropertyTypes(exactoptionalpropertytypes=true).types b/tests/baselines/reference/deleteExpressionMustBeOptional_exactOptionalPropertyTypes(exactoptionalpropertytypes=true).types
index 79da5d0fe05d4..36da93480e881 100644
--- a/tests/baselines/reference/deleteExpressionMustBeOptional_exactOptionalPropertyTypes(exactoptionalpropertytypes=true).types
+++ b/tests/baselines/reference/deleteExpressionMustBeOptional_exactOptionalPropertyTypes(exactoptionalpropertytypes=true).types
@@ -37,7 +37,7 @@ interface AA {
 }
 
 type BB = {
->BB : BB
+>BB : { [x: string]: number; }
 
     [P in keyof any]: number
 }
diff --git a/tests/baselines/reference/dependentDestructuredVariables.types b/tests/baselines/reference/dependentDestructuredVariables.types
index bfc8a5f2fb882..440c42a38277d 100644
--- a/tests/baselines/reference/dependentDestructuredVariables.types
+++ b/tests/baselines/reference/dependentDestructuredVariables.types
@@ -1,6 +1,6 @@
 === tests/cases/conformance/controlFlow/dependentDestructuredVariables.ts ===
 type Action =
->Action : Action
+>Action : { kind: 'A'; payload: number; } | { kind: 'B'; payload: string; }
 
     | { kind: 'A', payload: number }
 >kind : "A"
@@ -107,7 +107,7 @@ function f12({ kind, payload }: Action) {
 }
 
 type Action2 =
->Action2 : Action2
+>Action2 : { kind: 'A'; payload: number | undefined; } | { kind: 'B'; payload: string | undefined; }
 
     | { kind: 'A', payload: number | undefined }
 >kind : "A"
@@ -265,7 +265,7 @@ function f23({ kind, payload }: Action2) {
 }
 
 type Foo =
->Foo : Foo
+>Foo : { kind: 'A'; isA: true; } | { kind: 'B'; isA: false; } | { kind: 'C'; isA: false; }
 
     | { kind: 'A', isA: true }
 >kind : "A"
@@ -324,7 +324,7 @@ function f30({ kind, isA }: Foo) {
 }
 
 type Args = ['A', number] | ['B', string]
->Args : Args
+>Args : ["A", number] | ["B", string]
 
 function f40(...[kind, data]: Args) {
 >f40 : (...[kind, data]: Args) => void
@@ -406,7 +406,7 @@ function unrefined1<T>(ab: AB<T>): void {
 // Repro from #38020
 
 type Action3 =
->Action3 : Action3
+>Action3 : { type: 'add'; payload: {    toAdd: number;}; } | { type: 'remove'; payload: {    toRemove: number;}; }
 
     | {type: 'add', payload: { toAdd: number } }
 >type : "add"
@@ -598,7 +598,7 @@ readFile('hello', (err, data) => {
 });
 
 type ReducerArgs = ["add", { a: number, b: number }] | ["concat", { firstArr: any[], secondArr: any[] }];
->ReducerArgs : ReducerArgs
+>ReducerArgs : ["add", { a: number; b: number; }] | ["concat", { firstArr: any[]; secondArr: any[]; }]
 >a : number
 >b : number
 >firstArr : any[]
@@ -680,7 +680,7 @@ reducer("concat", { firstArr: [1, 2], secondArr: [3, 4] });
 // repro from https://github.com/microsoft/TypeScript/pull/47190#issuecomment-1057603588
 
 type FooMethod = {
->FooMethod : FooMethod
+>FooMethod : { method(...args: [type: "str", cb: (e: string) => void] | [type: "num", cb: (e: number) => void]): void; }
 
   method(...args:
 >method : (...args: [type: "str", cb: (e: string) => void] | [type: "num", cb: (e: number) => void]) => void
@@ -724,7 +724,7 @@ let fooM: FooMethod = {
 };
 
 type FooAsyncMethod = {
->FooAsyncMethod : FooAsyncMethod
+>FooAsyncMethod : { method(...args: [type: "str", cb: (e: string) => void] | [type: "num", cb: (e: number) => void]): Promise<any>; }
 
   method(...args:
 >method : (...args: [type: "str", cb: (e: string) => void] | [type: "num", cb: (e: number) => void]) => Promise<any>
@@ -768,7 +768,7 @@ let fooAsyncM: FooAsyncMethod = {
 };
 
 type FooGenMethod = {
->FooGenMethod : FooGenMethod
+>FooGenMethod : { method(...args: [type: "str", cb: (e: string) => void] | [type: "num", cb: (e: number) => void]): Generator<any, any, any>; }
 
   method(...args:
 >method : (...args: [type: "str", cb: (e: string) => void] | [type: "num", cb: (e: number) => void]) => Generator<any, any, any>
@@ -812,7 +812,7 @@ let fooGenM: FooGenMethod = {
 };
 
 type FooAsyncGenMethod = {
->FooAsyncGenMethod : FooAsyncGenMethod
+>FooAsyncGenMethod : { method(...args: [type: "str", cb: (e: string) => void] | [type: "num", cb: (e: number) => void]): AsyncGenerator<any, any, any>; }
 
   method(...args:
 >method : (...args: [type: "str", cb: (e: string) => void] | [type: "num", cb: (e: number) => void]) => AsyncGenerator<any, any, any>
@@ -858,7 +858,7 @@ let fooAsyncGenM: FooAsyncGenMethod = {
 // Repro from #48345
 
 type Func = <T extends ["a", number] | ["b", string]>(...args: T) => void;
->Func : Func
+>Func : <T extends ["a", number] | ["b", string]>(...args: T) => void
 >args : T
 
 const f60: Func = (kind, payload) => {
diff --git a/tests/baselines/reference/destructuringControlFlow.types b/tests/baselines/reference/destructuringControlFlow.types
index 02deb39200688..9fc89eae51deb 100644
--- a/tests/baselines/reference/destructuringControlFlow.types
+++ b/tests/baselines/reference/destructuringControlFlow.types
@@ -161,7 +161,7 @@ function f4() {
 // Repro from #31770
 
 type KeyValue = [string, string?];
->KeyValue : KeyValue
+>KeyValue : [string, (string | undefined)?]
 
 let [key, value]: KeyValue = ["foo"];
 >key : string
diff --git a/tests/baselines/reference/destructuringInFunctionType.types b/tests/baselines/reference/destructuringInFunctionType.types
index b5b0ff041c62b..2b7f0de66ccf7 100644
--- a/tests/baselines/reference/destructuringInFunctionType.types
+++ b/tests/baselines/reference/destructuringInFunctionType.types
@@ -9,46 +9,46 @@ interface c { c }
 >c : any
 
 type T1 = ([a, b, c]);
->T1 : T1
+>T1 : [a, b, c]
 
 type F1 = ([a, b, c]) => void;
->F1 : F1
+>F1 : ([a, b, c]: [any, any, any]) => void
 >a : any
 >b : any
 >c : any
 
 type T2 = ({ a });
->T2 : T2
+>T2 : { a: any; }
 >a : any
 
 type F2 = ({ a }) => void;
->F2 : F2
+>F2 : ({ a }: { a: any; }) => void
 >a : any
 
 type T3 = ([{ a: b }, { b: a }]);
->T3 : T3
+>T3 : [{ a: b; }, { b: a; }]
 >a : b
 >b : a
 
 type F3 = ([{ a: b }, { b: a }]) => void;
->F3 : F3
+>F3 : ([{ a: b }, { b: a }]: [{ a: any; }, { b: any; }]) => void
 >a : any
 >b : any
 >b : any
 >a : any
 
 type T4 = ([{ a: [b, c] }]);
->T4 : T4
+>T4 : [{ a: [b, c]; }]
 >a : [b, c]
 
 type F4 = ([{ a: [b, c] }]) => void;
->F4 : F4
+>F4 : ([{ a: [b, c] }]: [{ a: [any, any]; }]) => void
 >a : any
 >b : any
 >c : any
 
 type C1 = new ([{ a: [b, c] }]) => void;
->C1 : C1
+>C1 : new ([{ a: [b, c] }]: [{ a: [any, any]; }]) => void
 >a : any
 >b : any
 >c : any
diff --git a/tests/baselines/reference/destructuringParameterDeclaration3ES5.types b/tests/baselines/reference/destructuringParameterDeclaration3ES5.types
index 80101e1013895..a7d9b02412a34 100644
--- a/tests/baselines/reference/destructuringParameterDeclaration3ES5.types
+++ b/tests/baselines/reference/destructuringParameterDeclaration3ES5.types
@@ -6,13 +6,13 @@
 //     ...   Identifier   TypeAnnotation(opt)
 
 type arrayString = Array<String>
->arrayString : arrayString
+>arrayString : String[]
 
 type someArray = Array<String> | number[];
->someArray : someArray
+>someArray : String[] | number[]
 
 type stringOrNumArray = Array<String|Number>;
->stringOrNumArray : stringOrNumArray
+>stringOrNumArray : (String | Number)[]
 
 function a1(...x: (number|string)[]) { }
 >a1 : (...x: (number | string)[]) => void
diff --git a/tests/baselines/reference/destructuringParameterDeclaration3ES5iterable.types b/tests/baselines/reference/destructuringParameterDeclaration3ES5iterable.types
index 02b43a1006dd0..f09b7387a33dc 100644
--- a/tests/baselines/reference/destructuringParameterDeclaration3ES5iterable.types
+++ b/tests/baselines/reference/destructuringParameterDeclaration3ES5iterable.types
@@ -6,13 +6,13 @@
 //     ...   Identifier   TypeAnnotation(opt)
 
 type arrayString = Array<String>
->arrayString : arrayString
+>arrayString : String[]
 
 type someArray = Array<String> | number[];
->someArray : someArray
+>someArray : String[] | number[]
 
 type stringOrNumArray = Array<String|Number>;
->stringOrNumArray : stringOrNumArray
+>stringOrNumArray : (String | Number)[]
 
 function a1(...x: (number|string)[]) { }
 >a1 : (...x: (number | string)[]) => void
diff --git a/tests/baselines/reference/destructuringParameterDeclaration3ES6.types b/tests/baselines/reference/destructuringParameterDeclaration3ES6.types
index a2e6a55203f2e..5d56b4163d697 100644
--- a/tests/baselines/reference/destructuringParameterDeclaration3ES6.types
+++ b/tests/baselines/reference/destructuringParameterDeclaration3ES6.types
@@ -6,13 +6,13 @@
 //     ...   Identifier   TypeAnnotation(opt)
 
 type arrayString = Array<String>
->arrayString : arrayString
+>arrayString : String[]
 
 type someArray = Array<String> | number[];
->someArray : someArray
+>someArray : String[] | number[]
 
 type stringOrNumArray = Array<String|Number>;
->stringOrNumArray : stringOrNumArray
+>stringOrNumArray : (String | Number)[]
 
 function a1(...x: (number|string)[]) { }
 >a1 : (...x: (number | string)[]) => void
diff --git a/tests/baselines/reference/destructuringParameterDeclaration4.types b/tests/baselines/reference/destructuringParameterDeclaration4.types
index 04e01920ee419..08a6474c44c0f 100644
--- a/tests/baselines/reference/destructuringParameterDeclaration4.types
+++ b/tests/baselines/reference/destructuringParameterDeclaration4.types
@@ -6,13 +6,13 @@
 //     ...   Identifier   TypeAnnotation(opt)
 
 type arrayString = Array<String>
->arrayString : arrayString
+>arrayString : String[]
 
 type someArray = Array<String> | number[];
->someArray : someArray
+>someArray : String[] | number[]
 
 type stringOrNumArray = Array<String|Number>;
->stringOrNumArray : stringOrNumArray
+>stringOrNumArray : (String | Number)[]
 
 function a0(...x: [number, number, string]) { }  // Error, rest parameter must be array type
 >a0 : (x_0: number, x_1: number, x_2: string) => void
diff --git a/tests/baselines/reference/destructuringParameterProperties1.types b/tests/baselines/reference/destructuringParameterProperties1.types
index 38174445dcac2..fc0b52893155f 100644
--- a/tests/baselines/reference/destructuringParameterProperties1.types
+++ b/tests/baselines/reference/destructuringParameterProperties1.types
@@ -10,7 +10,7 @@ class C1 {
 }
 
 type TupleType1 = [string, number, boolean];
->TupleType1 : TupleType1
+>TupleType1 : [string, number, boolean]
 
 class C2 {
 >C2 : C2
@@ -23,7 +23,7 @@ class C2 {
 }
 
 type ObjType1 = { x: number; y: string; z: boolean }
->ObjType1 : ObjType1
+>ObjType1 : { x: number; y: string; z: boolean; }
 >x : number
 >y : string
 >z : boolean
diff --git a/tests/baselines/reference/destructuringParameterProperties5.types b/tests/baselines/reference/destructuringParameterProperties5.types
index 58d3b6d005dc6..ed95d0c196909 100644
--- a/tests/baselines/reference/destructuringParameterProperties5.types
+++ b/tests/baselines/reference/destructuringParameterProperties5.types
@@ -1,12 +1,12 @@
 === tests/cases/conformance/es6/destructuring/destructuringParameterProperties5.ts ===
 type ObjType1 = { x: number; y: string; z: boolean }
->ObjType1 : ObjType1
+>ObjType1 : { x: number; y: string; z: boolean; }
 >x : number
 >y : string
 >z : boolean
 
 type TupleType1 = [ObjType1, number, string]
->TupleType1 : TupleType1
+>TupleType1 : [ObjType1, number, string]
 
 class C1 {
 >C1 : C1
diff --git a/tests/baselines/reference/destructuringTypeGuardFlow.types b/tests/baselines/reference/destructuringTypeGuardFlow.types
index 00953626899bd..7863be76c92e2 100644
--- a/tests/baselines/reference/destructuringTypeGuardFlow.types
+++ b/tests/baselines/reference/destructuringTypeGuardFlow.types
@@ -1,6 +1,6 @@
 === tests/cases/compiler/destructuringTypeGuardFlow.ts ===
 type foo = {
->foo : foo
+>foo : { bar: number | null; baz: string; nested: {    a: number;    b: string | null;}; }
 
   bar: number | null;
 >bar : number | null
@@ -79,7 +79,7 @@ if (aFoo.bar && aFoo.nested.b) {
 }
 
 type bar = {
->bar : bar
+>bar : { elem1: number | null; elem2: foo | null; }
 
   elem1: number | null;
 >elem1 : number | null
diff --git a/tests/baselines/reference/didYouMeanStringLiteral.types b/tests/baselines/reference/didYouMeanStringLiteral.types
index c348534c65212..0cc503a11f526 100644
--- a/tests/baselines/reference/didYouMeanStringLiteral.types
+++ b/tests/baselines/reference/didYouMeanStringLiteral.types
@@ -1,6 +1,6 @@
 === tests/cases/compiler/didYouMeanStringLiteral.ts ===
 type T1 = "string" | "number" | "boolean";
->T1 : T1
+>T1 : "string" | "number" | "boolean"
 
 type T2 = T1 & ("number" | "boolean"); // "number" | "boolean"
 >T2 : "number" | "boolean"
diff --git a/tests/baselines/reference/directDependenceBetweenTypeAliases.types b/tests/baselines/reference/directDependenceBetweenTypeAliases.types
index e1d6784b327f8..7a031dd9a5f1d 100644
--- a/tests/baselines/reference/directDependenceBetweenTypeAliases.types
+++ b/tests/baselines/reference/directDependenceBetweenTypeAliases.types
@@ -17,7 +17,7 @@ type T0_3 = T0_1
 // A type reference directly depends on the referenced type and each of the type arguments, if any.
 interface I<T> {}
 type T1 = I<T1>
->T1 : T1
+>T1 : I<T1>
 
 // A union type directly depends on each of the constituent types.
 type T2 = T2 | string
@@ -27,15 +27,15 @@ class C<T> {}
 >C : C<T>
 
 type T2_1 = T2_1[] | number
->T2_1 : T2_1
+>T2_1 : number | T2_1[]
 
 // An array type directly depends on its element type.
 type T3 = T3[]
->T3 : T3
+>T3 : T3[]
 
 // A tuple type directly depends on each of its element types.
 type T4 = [number, T4]
->T4 : T4
+>T4 : [number, T4]
 
 // A type query directly depends on the type of the referenced entity.
 var x: T5[] = []
@@ -50,7 +50,7 @@ class C1<T> {}
 >C1 : C1<T>
 
 type T6 = T7 | number
->T6 : T6
+>T6 : number | [string, T8[]]
 
 type T7 = typeof yy
 >T7 : [string, T8[]]
@@ -60,22 +60,22 @@ var yy: [string, T8[]];
 >yy : [string, T8[]]
 
 type T8 = C<T6>
->T8 : T8
+>T8 : C<T6>
 
 // legal cases
 type T9 = () => T9
->T9 : T9
+>T9 : () => T9
 
 type T10 = { x: T10 } | { new(v: T10): string }
->T10 : T10
+>T10 : { x: T10; } | (new (v: T10) => string)
 >x : T10
 >v : T10
 
 type T11 = T12[]
->T11 : T11
+>T11 : T12[]
 
 type T12 = [T13, string]
->T12 : T12
+>T12 : [{ x: T11; }, string]
 
 type T13 = typeof zz
 >T13 : { x: T11; }
diff --git a/tests/baselines/reference/discriminableUnionWithIntersectedMembers.types b/tests/baselines/reference/discriminableUnionWithIntersectedMembers.types
index 633d23c65c6fd..3cb79ee43ee15 100644
--- a/tests/baselines/reference/discriminableUnionWithIntersectedMembers.types
+++ b/tests/baselines/reference/discriminableUnionWithIntersectedMembers.types
@@ -1,7 +1,7 @@
 === tests/cases/compiler/discriminableUnionWithIntersectedMembers.ts ===
 // regression test for https://github.com/microsoft/TypeScript/issues/33243
 type X = 
->X : X
+>X : ({ x: 'x'; y: number; } & { y: number; }) | ({ x: 'y'; y: number; z?: boolean; } & { y: number; })
 
  | { x: 'x', y: number } & { y: number } 
 >x : "x"
@@ -24,7 +24,7 @@ const x: X = 4 as any as { x: 'x' | 'y', y: number };
 >y : number
 
 type Y = 
->Y : Y
+>Y : { x: 'x'; y: number; } | { x: 'y'; y: number; z?: boolean; }
 
  | { x: 'x', y: number } 
 >x : "x"
diff --git a/tests/baselines/reference/discriminantElementAccessCheck.types b/tests/baselines/reference/discriminantElementAccessCheck.types
index 357173b8a0f40..6b378468c83f5 100644
--- a/tests/baselines/reference/discriminantElementAccessCheck.types
+++ b/tests/baselines/reference/discriminantElementAccessCheck.types
@@ -1,6 +1,6 @@
 === tests/cases/compiler/discriminantElementAccessCheck.ts ===
 type U = TypeA | TypeB;
->U : U
+>U : TypeA | TypeB
 
 interface TypeA {
     kind: 'A';
diff --git a/tests/baselines/reference/discriminantPropertyCheck.types b/tests/baselines/reference/discriminantPropertyCheck.types
index 10d3b5f117c47..e93ccc20ac759 100644
--- a/tests/baselines/reference/discriminantPropertyCheck.types
+++ b/tests/baselines/reference/discriminantPropertyCheck.types
@@ -1,6 +1,6 @@
 === tests/cases/compiler/discriminantPropertyCheck.ts ===
 type Item = Item1 | Item2;
->Item : Item
+>Item : Item1 | Item2
 
 interface Base {
     bar: boolean;
@@ -243,7 +243,7 @@ enum Types { Str = 1, Num = 2 }
 >2 : 2
 
 type Instance = StrType | NumType;
->Instance : Instance
+>Instance : StrType | NumType
 
 interface StrType {
     type: Types.Str;
@@ -335,7 +335,7 @@ interface B {
 }
 
 type U = A | B;
->U : U
+>U : A | B
 
 const u: U = {} as any;
 >u : U
@@ -381,10 +381,10 @@ u.b && u.a && f(u.a, u.b);
 // Repro from #29012
 
 type Additive = '+' | '-';
->Additive : Additive
+>Additive : "+" | "-"
 
 type Multiplicative = '*' | '/';
->Multiplicative : Multiplicative
+>Multiplicative : "*" | "/"
 
 interface AdditiveObj {
     key: Additive
@@ -397,7 +397,7 @@ interface MultiplicativeObj {
 }
 
 type Obj = AdditiveObj | MultiplicativeObj
->Obj : Obj
+>Obj : AdditiveObj | MultiplicativeObj
 
 export function foo(obj: Obj) {
 >foo : (obj: Obj) => void
@@ -450,15 +450,15 @@ const enum BarEnum {
 }
 
 type UnionOfBar = TypeBar1 | TypeBar2;
->UnionOfBar : UnionOfBar
+>UnionOfBar : TypeBar1 | TypeBar2
 
 type TypeBar1 = { type: BarEnum.bar1 };
->TypeBar1 : TypeBar1
+>TypeBar1 : { type: BarEnum.bar1; }
 >type : BarEnum.bar1
 >BarEnum : any
 
 type TypeBar2 = { type: BarEnum.bar2 };
->TypeBar2 : TypeBar2
+>TypeBar2 : { type: BarEnum.bar2; }
 >type : BarEnum.bar2
 >BarEnum : any
 
@@ -520,7 +520,7 @@ interface TypeB {
 }
 
 type Type = TypeA | TypeB;
->Type : Type
+>Type : TypeA | TypeB
 
 declare function isType(x: unknown): x is Type;
 >isType : (x: unknown) => x is Type
@@ -573,7 +573,7 @@ function DoesNotWork(data: unknown) {
 // Repro from #36777
 
 type TestA = {
->TestA : TestA
+>TestA : { type: 'testA'; bananas: 3; }
 
     type: 'testA';
 >type : "testA"
@@ -583,7 +583,7 @@ type TestA = {
 }
   
 type TestB = {
->TestB : TestB
+>TestB : { type: 'testB'; apples: 5; }
 
     type: 'testB';
 >type : "testB"
@@ -593,10 +593,10 @@ type TestB = {
 }
   
 type AllTests = TestA | TestB;
->AllTests : AllTests
+>AllTests : TestA | TestB
 
 type MapOfAllTests = Record<string, AllTests>;
->MapOfAllTests : MapOfAllTests
+>MapOfAllTests : { [x: string]: AllTests; }
 
 const doTestingStuff = (mapOfTests: MapOfAllTests, ids: string[]) => {
 >doTestingStuff : (mapOfTests: MapOfAllTests, ids: string[]) => void
diff --git a/tests/baselines/reference/discriminantPropertyInference.types b/tests/baselines/reference/discriminantPropertyInference.types
index 2ebc6c6a373fe..333b93e0eb19a 100644
--- a/tests/baselines/reference/discriminantPropertyInference.types
+++ b/tests/baselines/reference/discriminantPropertyInference.types
@@ -2,7 +2,7 @@
 // Repro from #41759
 
 type DiscriminatorTrue = {
->DiscriminatorTrue : DiscriminatorTrue
+>DiscriminatorTrue : { disc: true; cb: (x: string) => void; }
 
     disc: true;
 >disc : true
@@ -14,7 +14,7 @@ type DiscriminatorTrue = {
 }
 
 type DiscriminatorFalse = {
->DiscriminatorFalse : DiscriminatorFalse
+>DiscriminatorFalse : { disc?: false | undefined; cb: (x: number) => void; }
 
     disc?: false;
 >disc : false | undefined
@@ -26,7 +26,7 @@ type DiscriminatorFalse = {
 }
 
 type Props = DiscriminatorTrue | DiscriminatorFalse;
->Props : Props
+>Props : DiscriminatorTrue | DiscriminatorFalse
 
 declare function f(options: DiscriminatorTrue | DiscriminatorFalse): any;
 >f : (options: DiscriminatorTrue | DiscriminatorFalse) => any
diff --git a/tests/baselines/reference/discriminantsAndNullOrUndefined.types b/tests/baselines/reference/discriminantsAndNullOrUndefined.types
index 46cb2095fb5eb..f1814dbe5e27c 100644
--- a/tests/baselines/reference/discriminantsAndNullOrUndefined.types
+++ b/tests/baselines/reference/discriminantsAndNullOrUndefined.types
@@ -8,7 +8,7 @@ interface B { kind: 'B'; }
 >kind : "B"
 
 type C = A | B | undefined;
->C : C
+>C : A | B | undefined
 
 function never(_: never): never {
 >never : (_: never) => never
diff --git a/tests/baselines/reference/discriminantsAndPrimitives.types b/tests/baselines/reference/discriminantsAndPrimitives.types
index 6ad18446bf01f..07b07fdac0a52 100644
--- a/tests/baselines/reference/discriminantsAndPrimitives.types
+++ b/tests/baselines/reference/discriminantsAndPrimitives.types
@@ -142,7 +142,7 @@ const enum EnumTypeNode {
 }
 
 type NodeA = Disjunction | Pattern;
->NodeA : NodeA
+>NodeA : Disjunction | Pattern
 
 interface NodeBase {
     type: NodeA["type"]
diff --git a/tests/baselines/reference/discriminateObjectTypesOnly.types b/tests/baselines/reference/discriminateObjectTypesOnly.types
index 27b686b4a67f3..59de23555e428 100644
--- a/tests/baselines/reference/discriminateObjectTypesOnly.types
+++ b/tests/baselines/reference/discriminateObjectTypesOnly.types
@@ -1,6 +1,6 @@
 === tests/cases/compiler/discriminateObjectTypesOnly.ts ===
 type Thing = number | object;
->Thing : Thing
+>Thing : number | object
 
 const k: Thing = { toFixed: null }; // OK, satisfies object
 >k : Thing
@@ -9,7 +9,7 @@ const k: Thing = { toFixed: null }; // OK, satisfies object
 >null : null
 
 type Thing2 = number | { toFixed: null } | object;
->Thing2 : Thing2
+>Thing2 : number | object | { toFixed: null; }
 >toFixed : null
 >null : null
 
@@ -26,7 +26,7 @@ const h: Thing2 = { toString: null }; // OK, satisfies object
 >null : null
 
 type Thing3 = number | { toFixed: null, toString: undefined } | object;
->Thing3 : Thing3
+>Thing3 : number | object | { toFixed: null; toString: undefined; }
 >toFixed : null
 >null : null
 >toString : undefined
diff --git a/tests/baselines/reference/discriminatedUnionErrorMessage.types b/tests/baselines/reference/discriminatedUnionErrorMessage.types
index ca405c5e3dc3a..842b7c5f9b6f1 100644
--- a/tests/baselines/reference/discriminatedUnionErrorMessage.types
+++ b/tests/baselines/reference/discriminatedUnionErrorMessage.types
@@ -1,22 +1,22 @@
 === tests/cases/compiler/discriminatedUnionErrorMessage.ts ===
 type Square = { kind: "sq", size: number }
->Square : Square
+>Square : { kind: "sq"; size: number; }
 >kind : "sq"
 >size : number
 
 type Rectangle = { kind: "rt", x: number, y: number }
->Rectangle : Rectangle
+>Rectangle : { kind: "rt"; x: number; y: number; }
 >kind : "rt"
 >x : number
 >y : number
 
 type Circle = { kind: "cr", radius: number }
->Circle : Circle
+>Circle : { kind: "cr"; radius: number; }
 >kind : "cr"
 >radius : number
 
 type Shape =
->Shape : Shape
+>Shape : Square | Rectangle | Circle
 
     | Square
     | Rectangle
diff --git a/tests/baselines/reference/discriminatedUnionJsxElement.types b/tests/baselines/reference/discriminatedUnionJsxElement.types
index 54ca2b4268f54..4f7b5a1ccdd9c 100644
--- a/tests/baselines/reference/discriminatedUnionJsxElement.types
+++ b/tests/baselines/reference/discriminatedUnionJsxElement.types
@@ -31,7 +31,7 @@ function Menu<MenuItemVariant extends ListItemVariant = ListItemVariant.OneLine>
 }
 
 type IListItemData = { variant: ListItemVariant.Avatar; } | { variant: ListItemVariant.OneLine; };
->IListItemData : IListItemData
+>IListItemData : { variant: ListItemVariant.Avatar; } | { variant: ListItemVariant.OneLine; }
 >variant : ListItemVariant.Avatar
 >ListItemVariant : any
 >variant : ListItemVariant.OneLine
diff --git a/tests/baselines/reference/discriminatedUnionTypes1.types b/tests/baselines/reference/discriminatedUnionTypes1.types
index 7c8c6c48171ba..cec56bde34f1a 100644
--- a/tests/baselines/reference/discriminatedUnionTypes1.types
+++ b/tests/baselines/reference/discriminatedUnionTypes1.types
@@ -27,7 +27,7 @@ interface Circle {
 }
 
 type Shape = Square | Rectangle | Circle;
->Shape : Shape
+>Shape : Square | Rectangle | Circle
 
 function area1(s: Shape) {
 >area1 : (s: Shape) => number
@@ -248,7 +248,7 @@ function area4(s: Shape) {
 }
 
 type Message =
->Message : Message
+>Message : { kind: "A"; x: string; } | { kind: "B" | "C"; y: number; } | { kind: "D"; }
 
     { kind: "A", x: string } |
 >kind : "A"
diff --git a/tests/baselines/reference/discriminatedUnionTypes2.types b/tests/baselines/reference/discriminatedUnionTypes2.types
index 695f0c3768f00..07250ba11fa66 100644
--- a/tests/baselines/reference/discriminatedUnionTypes2.types
+++ b/tests/baselines/reference/discriminatedUnionTypes2.types
@@ -242,7 +242,7 @@ function f20<Data>(carrier: DataCarrier<Data>) {
 // Repro from #28935
 
 type Foo = { tag: true, x: number } | { tag: false, y: number } | { [x: string]: string };
->Foo : Foo
+>Foo : { tag: true; x: number; } | { tag: false; y: number; } | { [x: string]: string; }
 >tag : true
 >true : true
 >x : number
@@ -292,7 +292,7 @@ function f31(foo: Foo) {
 // Repro from #33448
 
 type a = {
->a : a
+>a : { type: 'a'; data: string; }
 
     type: 'a',
 >type : "a"
@@ -301,7 +301,7 @@ type a = {
 >data : string
 }
 type b = {
->b : b
+>b : { type: 'b'; name: string; }
 
     type: 'b',
 >type : "b"
@@ -310,7 +310,7 @@ type b = {
 >name : string
 }
 type c = {
->c : c
+>c : { type: 'c'; other: string; }
 
     type: 'c',
 >type : "c"
@@ -320,7 +320,7 @@ type c = {
 }
 
 type abc = a | b | c;
->abc : abc
+>abc : a | b | c
 
 function f(problem: abc & (b | c)) {
 >f : (problem: abc & (b | c)) => void
@@ -347,7 +347,7 @@ function f(problem: abc & (b | c)) {
 }
 
 type RuntimeValue =
->RuntimeValue : RuntimeValue
+>RuntimeValue : { type: 'number'; value: number; } | { type: 'string'; value: string; } | { type: 'boolean'; value: boolean; }
 
     | { type: 'number', value: number }
 >type : "number"
diff --git a/tests/baselines/reference/discriminatedUnionTypes3.types b/tests/baselines/reference/discriminatedUnionTypes3.types
index 8c645a1773592..1b88a38aa1bab 100644
--- a/tests/baselines/reference/discriminatedUnionTypes3.types
+++ b/tests/baselines/reference/discriminatedUnionTypes3.types
@@ -2,7 +2,7 @@
 // Repro from #44435
 
 type Correct = {
->Correct : Correct
+>Correct : { code: string; property: true; err: undefined; }
 
 	code: string
 >code : string
@@ -15,13 +15,13 @@ type Correct = {
 >err : undefined
 }
 type Err = {
->Err : Err
+>Err : { err: `${string} is wrong!`; }
 
 	err: `${string} is wrong!`
 >err : `${string} is wrong!`
 }
 type SomeReturnType = Correct | Err;
->SomeReturnType : SomeReturnType
+>SomeReturnType : Correct | Err
 
 const example: SomeReturnType = {} as SomeReturnType;
 >example : SomeReturnType
diff --git a/tests/baselines/reference/divergentAccessorsTypes1.types b/tests/baselines/reference/divergentAccessorsTypes1.types
index be4ebc6243c3a..258492ff8717e 100644
--- a/tests/baselines/reference/divergentAccessorsTypes1.types
+++ b/tests/baselines/reference/divergentAccessorsTypes1.types
@@ -48,7 +48,7 @@ interface Test2 {
 }
 
 type Test3 = {
->Test3 : Test3
+>Test3 : { foo: string; bar: string | number; }
 
     get foo(): string;
 >foo : string
diff --git a/tests/baselines/reference/doNotInferUnrelatedTypes.types b/tests/baselines/reference/doNotInferUnrelatedTypes.types
index e3a9522721ae8..21a1f76d2eaf0 100644
--- a/tests/baselines/reference/doNotInferUnrelatedTypes.types
+++ b/tests/baselines/reference/doNotInferUnrelatedTypes.types
@@ -5,7 +5,7 @@ declare function dearray<T>(ara: ReadonlyArray<T>): T;
 >ara : readonly T[]
 
 type LiteralType = "foo" | "bar";
->LiteralType : LiteralType
+>LiteralType : "foo" | "bar"
 
 declare var alt: Array<LiteralType>;
 >alt : LiteralType[]
diff --git a/tests/baselines/reference/doubleMixinConditionalTypeBaseClassWorks.types b/tests/baselines/reference/doubleMixinConditionalTypeBaseClassWorks.types
index 79862e0733069..587f32d6a195a 100644
--- a/tests/baselines/reference/doubleMixinConditionalTypeBaseClassWorks.types
+++ b/tests/baselines/reference/doubleMixinConditionalTypeBaseClassWorks.types
@@ -1,6 +1,6 @@
 === tests/cases/compiler/doubleMixinConditionalTypeBaseClassWorks.ts ===
 type Constructor = new (...args: any[]) => {};
->Constructor : Constructor
+>Constructor : new (...args: any[]) => {}
 >args : any[]
 
 const Mixin1 = <C extends Constructor>(Base: C) => class extends Base { private _fooPrivate: {}; }
diff --git a/tests/baselines/reference/dynamicNames.types b/tests/baselines/reference/dynamicNames.types
index 03b6b980f3c67..8a2a1387677af 100644
--- a/tests/baselines/reference/dynamicNames.types
+++ b/tests/baselines/reference/dynamicNames.types
@@ -45,7 +45,7 @@ export declare class T2 extends T1 {
 >T1 : T1
 }
 export declare type T3 = {
->T3 : T3
+>T3 : { a: number; 1: string; [s0]: boolean; }
 
     [c0]: number;
 >[c0] : number
@@ -135,7 +135,7 @@ namespace N {
 >T5 : T5
     }
     export declare type T7 = {
->T7 : T7
+>T7 : { a: number; 1: string; [s0]: boolean; }
 
         [N.c2]: number;
 >[N.c2] : number
@@ -204,7 +204,7 @@ declare class T10 extends T9 {
 >T9 : T9
 }
 declare type T11 = {
->T11 : T11
+>T11 : { a: number; 1: string; [s0]: boolean; }
 
     [c4]: number;
 >[c4] : number
@@ -249,7 +249,7 @@ declare class T14 extends T13 {
 >T13 : T13
 }
 declare type T15 = {
->T15 : T15
+>T15 : { a: number; 1: string; [s0]: boolean; }
 
     a: number;
 >a : number
diff --git a/tests/baselines/reference/dynamicNamesErrors.types b/tests/baselines/reference/dynamicNamesErrors.types
index b4f44376af89b..0ae2e48638ebc 100644
--- a/tests/baselines/reference/dynamicNamesErrors.types
+++ b/tests/baselines/reference/dynamicNamesErrors.types
@@ -127,7 +127,7 @@ export class ClassMemberVisibility {
 }
 
 export type ObjectTypeVisibility = {
->ObjectTypeVisibility : ObjectTypeVisibility
+>ObjectTypeVisibility : { [x]: number; [y](): number; }
 
     [x]: number;
 >[x] : number
diff --git a/tests/baselines/reference/enumLiteralTypes1.types b/tests/baselines/reference/enumLiteralTypes1.types
index b3541381043ad..0314a6d807738 100644
--- a/tests/baselines/reference/enumLiteralTypes1.types
+++ b/tests/baselines/reference/enumLiteralTypes1.types
@@ -6,17 +6,17 @@ const enum Choice { Unknown, Yes, No };
 >No : Choice.No
 
 type YesNo = Choice.Yes | Choice.No;
->YesNo : YesNo
+>YesNo : Choice.Yes | Choice.No
 >Choice : any
 >Choice : any
 
 type NoYes = Choice.No | Choice.Yes;
->NoYes : NoYes
+>NoYes : Choice.Yes | Choice.No
 >Choice : any
 >Choice : any
 
 type UnknownYesNo = Choice.Unknown | Choice.Yes | Choice.No;
->UnknownYesNo : UnknownYesNo
+>UnknownYesNo : Choice
 >Choice : any
 >Choice : any
 >Choice : any
@@ -344,7 +344,7 @@ function f13(x: UnknownYesNo) {
 }
 
 type Item =
->Item : Item
+>Item : { kind: Choice.Yes; a: string; } | { kind: Choice.No; b: string; }
 
     { kind: Choice.Yes, a: string } |
 >kind : Choice.Yes
diff --git a/tests/baselines/reference/enumLiteralTypes2.types b/tests/baselines/reference/enumLiteralTypes2.types
index d724072fc1b5e..b5a887094c862 100644
--- a/tests/baselines/reference/enumLiteralTypes2.types
+++ b/tests/baselines/reference/enumLiteralTypes2.types
@@ -6,17 +6,17 @@ const enum Choice { Unknown, Yes, No };
 >No : Choice.No
 
 type YesNo = Choice.Yes | Choice.No;
->YesNo : YesNo
+>YesNo : Choice.Yes | Choice.No
 >Choice : any
 >Choice : any
 
 type NoYes = Choice.No | Choice.Yes;
->NoYes : NoYes
+>NoYes : Choice.Yes | Choice.No
 >Choice : any
 >Choice : any
 
 type UnknownYesNo = Choice.Unknown | Choice.Yes | Choice.No;
->UnknownYesNo : UnknownYesNo
+>UnknownYesNo : Choice
 >Choice : any
 >Choice : any
 >Choice : any
@@ -344,7 +344,7 @@ function f13(x: UnknownYesNo) {
 }
 
 type Item =
->Item : Item
+>Item : { kind: Choice.Yes; a: string; } | { kind: Choice.No; b: string; }
 
     { kind: Choice.Yes, a: string } |
 >kind : Choice.Yes
diff --git a/tests/baselines/reference/enumLiteralTypes3.types b/tests/baselines/reference/enumLiteralTypes3.types
index 04b5ceb0697cf..d420a1786462b 100644
--- a/tests/baselines/reference/enumLiteralTypes3.types
+++ b/tests/baselines/reference/enumLiteralTypes3.types
@@ -10,17 +10,17 @@ type Yes = Choice.Yes;
 >Choice : any
 
 type YesNo = Choice.Yes | Choice.No;
->YesNo : YesNo
+>YesNo : Choice.Yes | Choice.No
 >Choice : any
 >Choice : any
 
 type NoYes = Choice.No | Choice.Yes;
->NoYes : NoYes
+>NoYes : Choice.Yes | Choice.No
 >Choice : any
 >Choice : any
 
 type UnknownYesNo = Choice.Unknown | Choice.Yes | Choice.No;
->UnknownYesNo : UnknownYesNo
+>UnknownYesNo : Choice
 >Choice : any
 >Choice : any
 >Choice : any
diff --git a/tests/baselines/reference/enumLiteralUnionNotWidened.types b/tests/baselines/reference/enumLiteralUnionNotWidened.types
index 87443fbd54906..1446b2a56ad58 100644
--- a/tests/baselines/reference/enumLiteralUnionNotWidened.types
+++ b/tests/baselines/reference/enumLiteralUnionNotWidened.types
@@ -15,11 +15,11 @@ enum B { foo = "foo", bar = "bar" };
 >"bar" : "bar"
 
 type C = A | B.foo;
->C : C
+>C : A | B.foo
 >B : any
 
 type D = A | "foo";
->D : D
+>D : A | "foo"
 
 class List<T>
 >List : List<T>
diff --git a/tests/baselines/reference/errorForUsingPropertyOfTypeAsType01.types b/tests/baselines/reference/errorForUsingPropertyOfTypeAsType01.types
index 55a7d345f7189..6b0d4e1f32bc5 100644
--- a/tests/baselines/reference/errorForUsingPropertyOfTypeAsType01.types
+++ b/tests/baselines/reference/errorForUsingPropertyOfTypeAsType01.types
@@ -45,7 +45,7 @@ namespace Test3 {
 >Test3 : typeof Test3
 
     export type Foo = {
->Foo : Foo
+>Foo : { bar: string; }
 
         bar: string;
 >bar : string
@@ -67,7 +67,7 @@ namespace Test4 {
 >Test4 : typeof Test4
 
     export type Foo = { bar: number }
->Foo : Foo
+>Foo : { bar: number; } | { bar: string; }
 >bar : number
 
                     | { bar: string }
@@ -89,7 +89,7 @@ namespace Test5 {
 >Test5 : typeof Test5
 
     export type Foo = { bar: number }
->Foo : Foo
+>Foo : { bar: number; } | { wat: string; }
 >bar : number
 
                     | { wat: string }
diff --git a/tests/baselines/reference/errorMessageOnIntersectionsWithDiscriminants01.types b/tests/baselines/reference/errorMessageOnIntersectionsWithDiscriminants01.types
index 4c532de4b272e..5222b5566f853 100644
--- a/tests/baselines/reference/errorMessageOnIntersectionsWithDiscriminants01.types
+++ b/tests/baselines/reference/errorMessageOnIntersectionsWithDiscriminants01.types
@@ -1,17 +1,17 @@
 === tests/cases/compiler/errorMessageOnIntersectionsWithDiscriminants01.ts ===
 export type Common = { test: true } | { test: false };
->Common : Common
+>Common : { test: true; } | { test: false; }
 >test : true
 >true : true
 >test : false
 >false : false
 
 export type A = Common & { foo: 1 };
->A : A
+>A : Common & { foo: 1; }
 >foo : 1
 
 export type B = Common & { bar: 1 };
->B : B
+>B : Common & { bar: 1; }
 >bar : 1
 
 declare const a: A;
diff --git a/tests/baselines/reference/errorsOnUnionsOfOverlappingObjects01.types b/tests/baselines/reference/errorsOnUnionsOfOverlappingObjects01.types
index 1e9b1b8c5ef50..1a705d7973325 100644
--- a/tests/baselines/reference/errorsOnUnionsOfOverlappingObjects01.types
+++ b/tests/baselines/reference/errorsOnUnionsOfOverlappingObjects01.types
@@ -93,7 +93,7 @@ interface Platypus { platypus: any }
 >platypus : any
 
 type ExoticAnimal =
->ExoticAnimal : ExoticAnimal
+>ExoticAnimal : CatDog | ManBearPig | Platypus
 
     | CatDog
     | ManBearPig
diff --git a/tests/baselines/reference/eventEmitterPatternWithRecordOfFunction.types b/tests/baselines/reference/eventEmitterPatternWithRecordOfFunction.types
index 37c9eaacf7a33..61e81fb65a711 100644
--- a/tests/baselines/reference/eventEmitterPatternWithRecordOfFunction.types
+++ b/tests/baselines/reference/eventEmitterPatternWithRecordOfFunction.types
@@ -11,7 +11,7 @@ type Args<F> = F extends (...args: infer A) => void ? A : never;
 >args : A
 
 type EventMap = Record<string, Function>;
->EventMap : EventMap
+>EventMap : { [x: string]: Function; }
 
 interface B<M extends EventMap> extends A {
     emit<Event extends keyof M>(event: Event, ...args: Args<M[Event]>): boolean;
diff --git a/tests/baselines/reference/excessPropertyCheckWithMultipleDiscriminants.types b/tests/baselines/reference/excessPropertyCheckWithMultipleDiscriminants.types
index 1f5d85b10a5b4..2c5b07e591444 100644
--- a/tests/baselines/reference/excessPropertyCheckWithMultipleDiscriminants.types
+++ b/tests/baselines/reference/excessPropertyCheckWithMultipleDiscriminants.types
@@ -33,7 +33,7 @@ interface Bool extends Base<boolean> {
 }
 
 type Primitive = Int | Float | Str | Bool;
->Primitive : Primitive
+>Primitive : Int | Float | Str | Bool
 
 const foo: Primitive = {
 >foo : Primitive
@@ -58,7 +58,7 @@ const foo: Primitive = {
 
 
 type DisjointDiscriminants = { p1: 'left'; p2: true; p3: number } | { p1: 'right'; p2: false; p4: string } | { p1: 'left'; p2: boolean };
->DisjointDiscriminants : DisjointDiscriminants
+>DisjointDiscriminants : { p1: 'left'; p2: true; p3: number; } | { p1: 'right'; p2: false; p4: string; } | { p1: 'left'; p2: boolean; }
 >p1 : "left"
 >p2 : true
 >true : true
diff --git a/tests/baselines/reference/excessPropertyCheckWithUnions.types b/tests/baselines/reference/excessPropertyCheckWithUnions.types
index 1a8cc69eaee08..2b012e13eb14c 100644
--- a/tests/baselines/reference/excessPropertyCheckWithUnions.types
+++ b/tests/baselines/reference/excessPropertyCheckWithUnions.types
@@ -1,6 +1,6 @@
 === tests/cases/compiler/excessPropertyCheckWithUnions.ts ===
 type ADT = {
->ADT : ADT
+>ADT : { tag: "A"; a1: string; } | { tag: "D"; d20: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20; } | { tag: "T"; }
 
     tag: "A",
 >tag : "A"
@@ -44,7 +44,7 @@ wrong = { tag: "D" }
 >"D" : "D"
 
 type Ambiguous = {
->Ambiguous : Ambiguous
+>Ambiguous : { tag: "A"; x: string; } | { tag: "A"; y: number; } | { tag: "B"; z: boolean; } | { tag: "C"; }
 
     tag: "A",
 >tag : "A"
@@ -146,7 +146,7 @@ amb = { tag: "A", z: true }
 >true : true
 
 type Overlapping =
->Overlapping : Overlapping
+>Overlapping : { a: 1; b: 1; first: string; } | { a: 2; second: string; } | { b: 3; third: string; }
 
     | { a: 1, b: 1, first: string }
 >a : 1
@@ -220,16 +220,16 @@ t0 = t2
 
 // Nested excess property checks work with discriminated unions
 type AN = { a: string } | { c: string }
->AN : AN
+>AN : { a: string; } | { c: string; }
 >a : string
 >c : string
 
 type BN = { b: string }
->BN : BN
+>BN : { b: string; }
 >b : string
 
 type AB = { kind: "A", n: AN } | { kind: "B", n: BN }
->AB : AB
+>AB : { kind: "A"; n: AN; } | { kind: "B"; n: BN; }
 >kind : "A"
 >n : AN
 >kind : "B"
@@ -280,18 +280,18 @@ const abac: AB = {
 
 // Excess property checks must match all discriminable properties
 type Button = { tag: 'button'; type?: 'submit'; };
->Button : Button
+>Button : { tag: 'button'; type?: "submit" | undefined; }
 >tag : "button"
 >type : "submit" | undefined
 
 type Anchor = { tag: 'a'; type?: string; href: string };
->Anchor : Anchor
+>Anchor : { tag: 'a'; type?: string | undefined; href: string; }
 >tag : "a"
 >type : string | undefined
 >href : string
 
 type Union = Button | Anchor;
->Union : Union
+>Union : Button | Anchor
 
 const obj: Union = {
 >obj : Union
@@ -331,7 +331,7 @@ interface NumberKeys {
 }
 
 type ObjectDataSpecification = StringKeys | NumberKeys;
->ObjectDataSpecification : ObjectDataSpecification
+>ObjectDataSpecification : StringKeys | NumberKeys
 
 
 const dataSpecification: ObjectDataSpecification = {  // Error
@@ -381,7 +381,7 @@ interface I3 extends Record<string, string> {
 }
 
 type Properties =
->Properties : Properties
+>Properties : I1 | I2 | I3 | { [key: string]: never; }
 
     | { [key: string]: never }
 >key : string
diff --git a/tests/baselines/reference/excessPropertyChecksWithNestedIntersections.types b/tests/baselines/reference/excessPropertyChecksWithNestedIntersections.types
index 29019339fa6a7..9e9ef82d54d0a 100644
--- a/tests/baselines/reference/excessPropertyChecksWithNestedIntersections.types
+++ b/tests/baselines/reference/excessPropertyChecksWithNestedIntersections.types
@@ -17,7 +17,7 @@ interface C {
 }
 
 type D = B & C;
->D : D
+>D : B & C
 
 let a: B = { a: { x: 'hello' } }; // ok
 >a : B
@@ -80,7 +80,7 @@ let f: D = { a: { x: 'hello', y: 2 }, c: 5 }; // error - y does not exist in typ
 // https://github.com/Microsoft/TypeScript/issues/18075
 
 export type MyType = { id: number; } & { name: string; } & { photo: { id: number; } & { url: string; } }
->MyType : MyType
+>MyType : { id: number; } & { name: string; } & { photo: {    id: number;} & {    url: string;}; }
 >id : number
 >name : string
 >photo : { id: number; } & { url: string; }
diff --git a/tests/baselines/reference/excessPropertyErrorForFunctionTypes.types b/tests/baselines/reference/excessPropertyErrorForFunctionTypes.types
index 9792a38a6612e..5bde8cd170004 100644
--- a/tests/baselines/reference/excessPropertyErrorForFunctionTypes.types
+++ b/tests/baselines/reference/excessPropertyErrorForFunctionTypes.types
@@ -1,9 +1,9 @@
 === tests/cases/compiler/excessPropertyErrorForFunctionTypes.ts ===
 type FunctionType = () => any;
->FunctionType : FunctionType
+>FunctionType : () => any
 
 type DoesntWork = { a: number, c: number } | FunctionType;
->DoesntWork : DoesntWork
+>DoesntWork : { a: number; c: number; } | FunctionType
 >a : number
 >c : number
 
diff --git a/tests/baselines/reference/excessiveStackDepthFlatArray.types b/tests/baselines/reference/excessiveStackDepthFlatArray.types
index ae346a034fa67..d84f300a5f7e8 100644
--- a/tests/baselines/reference/excessiveStackDepthFlatArray.types
+++ b/tests/baselines/reference/excessiveStackDepthFlatArray.types
@@ -30,17 +30,17 @@ declare namespace React {
 >children : ReactNode
   }
   type ReactNode = ReactChild | ReactFragment | boolean | null | undefined;
->ReactNode : ReactNode
+>ReactNode : boolean | ReactText | ReactFragment
 >null : null
 
   type ReactText = string | number;
->ReactText : ReactText
+>ReactText : string | number
 
   type ReactChild = ReactText;
 >ReactChild : ReactText
 
   type ReactFragment = {} | ReactNodeArray;
->ReactFragment : ReactFragment
+>ReactFragment : {} | ReactNodeArray
 
   interface ReactNodeArray extends Array<ReactNode> {}
 }
diff --git a/tests/baselines/reference/excessivelyLargeTupleSpread.types b/tests/baselines/reference/excessivelyLargeTupleSpread.types
index 5e1e63a8968f7..9c8c55e22fcf4 100644
--- a/tests/baselines/reference/excessivelyLargeTupleSpread.types
+++ b/tests/baselines/reference/excessivelyLargeTupleSpread.types
@@ -10,7 +10,7 @@ type A = BuildTuple<3>
 >A : any
 
 type T0 = [any];
->T0 : T0
+>T0 : [any]
 
 type T1 = [...T0, ...T0];
 >T1 : [any, any]
diff --git a/tests/baselines/reference/exhaustiveSwitchStatements1.types b/tests/baselines/reference/exhaustiveSwitchStatements1.types
index 4944989ed1d6d..6a74aa70549fa 100644
--- a/tests/baselines/reference/exhaustiveSwitchStatements1.types
+++ b/tests/baselines/reference/exhaustiveSwitchStatements1.types
@@ -155,7 +155,7 @@ interface Triangle { kind: "triangle"; side: number; }
 >side : number
 
 type Shape = Square | Rectangle | Circle | Triangle;
->Shape : Shape
+>Shape : Square | Rectangle | Circle | Triangle
 
 function area(s: Shape): number {
 >area : (s: Shape) => number
@@ -481,7 +481,7 @@ interface Circle2 {
 }
 
 type Shape2 = Square2 | Circle2;
->Shape2 : Shape2
+>Shape2 : Square2 | Circle2
 
 function withDefault(s1: Shape2, s2: Shape2): string {
 >withDefault : (s1: Shape2, s2: Shape2) => string
@@ -665,7 +665,7 @@ function foo() {
 // Repro from #35070
 
 type O = {
->O : O
+>O : { a: number; b: number; }
 
     a: number,
 >a : number
@@ -675,7 +675,7 @@ type O = {
 
 };
 type K = keyof O | 'c';
->K : K
+>K : keyof O | "c"
 
 function ff(o: O, k: K) {
 >ff : (o: O, k: K) => number
@@ -706,7 +706,7 @@ function ff(o: O, k: K) {
 
 // Repro from #35431
 type A = { kind: "abc" } | { kind: "def" };
->A : A
+>A : { kind: "abc"; } | { kind: "def"; }
 >kind : "abc"
 >kind : "def"
 
diff --git a/tests/baselines/reference/exportDeclaration_moduleSpecifier-isolatedModules.types b/tests/baselines/reference/exportDeclaration_moduleSpecifier-isolatedModules.types
index 78d90f12023c3..2bf0be5f3dd08 100644
--- a/tests/baselines/reference/exportDeclaration_moduleSpecifier-isolatedModules.types
+++ b/tests/baselines/reference/exportDeclaration_moduleSpecifier-isolatedModules.types
@@ -1,6 +1,6 @@
 === /a.ts ===
 export type A = {};
->A : A
+>A : {}
 
 === /b.ts ===
 export type { A } from './a'; // should not error, but would without `type`
diff --git a/tests/baselines/reference/exportDefaultTypeAndClass.types b/tests/baselines/reference/exportDefaultTypeAndClass.types
index 273a650257c5e..f6a7969aca11f 100644
--- a/tests/baselines/reference/exportDefaultTypeAndClass.types
+++ b/tests/baselines/reference/exportDefaultTypeAndClass.types
@@ -3,7 +3,7 @@ export default class Foo {}
 >Foo : Foo
 
 type Bar = {}
->Bar : Bar
+>Bar : {}
 
 export default Bar
 >Bar : Bar
diff --git a/tests/baselines/reference/exportDefaultTypeAndFunctionOverloads.types b/tests/baselines/reference/exportDefaultTypeAndFunctionOverloads.types
index c014cddfa250e..e6b1cc80726fe 100644
--- a/tests/baselines/reference/exportDefaultTypeAndFunctionOverloads.types
+++ b/tests/baselines/reference/exportDefaultTypeAndFunctionOverloads.types
@@ -15,7 +15,7 @@ export default function foo(value: string | number): string | number {
 >1 : 1
 }
 type Foo = {}
->Foo : Foo
+>Foo : {}
 
 export default Foo
 >Foo : Foo
diff --git a/tests/baselines/reference/exportDefaultTypeClassAndValue.types b/tests/baselines/reference/exportDefaultTypeClassAndValue.types
index 2896db94a5ebb..de77a17902c18 100644
--- a/tests/baselines/reference/exportDefaultTypeClassAndValue.types
+++ b/tests/baselines/reference/exportDefaultTypeClassAndValue.types
@@ -10,7 +10,7 @@ export default class Foo {}
 >Foo : foo
 
 type Bar = {}
->Bar : Bar
+>Bar : {}
 
 export default Bar
 >Bar : Bar
diff --git a/tests/baselines/reference/exportNamespaceDeclarationRetainsVisibility.types b/tests/baselines/reference/exportNamespaceDeclarationRetainsVisibility.types
index 69422a8458c0f..d500ed29a3529 100644
--- a/tests/baselines/reference/exportNamespaceDeclarationRetainsVisibility.types
+++ b/tests/baselines/reference/exportNamespaceDeclarationRetainsVisibility.types
@@ -11,7 +11,7 @@ namespace X {
     }
 
     export type C = A | B;
->C : C
+>C : A | B
 }
 
 export = X;
diff --git a/tests/baselines/reference/flowControlTypeGuardThenSwitch.types b/tests/baselines/reference/flowControlTypeGuardThenSwitch.types
index 807a322073bd6..e197a80e454f6 100644
--- a/tests/baselines/reference/flowControlTypeGuardThenSwitch.types
+++ b/tests/baselines/reference/flowControlTypeGuardThenSwitch.types
@@ -33,7 +33,7 @@ interface B extends Base {
 }
 
 type Both = A | B;
->Both : Both
+>Both : A | B
 
 function isBoth(x: Base): x is Both {
 >isBoth : (x: Base) => x is Both
diff --git a/tests/baselines/reference/for-of58.types b/tests/baselines/reference/for-of58.types
index f188378dfcec6..5a3470b45fb35 100644
--- a/tests/baselines/reference/for-of58.types
+++ b/tests/baselines/reference/for-of58.types
@@ -1,10 +1,10 @@
 === tests/cases/conformance/es6/for-ofStatements/for-of58.ts ===
 type X = { x: 'x' };
->X : X
+>X : { x: 'x'; }
 >x : "x"
 
 type Y = { y: 'y' };
->Y : Y
+>Y : { y: 'y'; }
 >y : "y"
 
 declare const arr: X[] & Y[];
diff --git a/tests/baselines/reference/forOfStringConstituents.types b/tests/baselines/reference/forOfStringConstituents.types
index c895f3b022cc4..da3427aeb6843 100644
--- a/tests/baselines/reference/forOfStringConstituents.types
+++ b/tests/baselines/reference/forOfStringConstituents.types
@@ -14,10 +14,10 @@ interface D { x: 3; }
 >x : 3
 
 type AB = A | B;
->AB : AB
+>AB : A | B
 
 type CD = C | D;
->CD : CD
+>CD : C | D
 
 declare let x: AB, y: CD;
 >x : AB
diff --git a/tests/baselines/reference/forwardRefInTypeDeclaration.types b/tests/baselines/reference/forwardRefInTypeDeclaration.types
index de487ec372c6a..a6c59cbd4036a 100644
--- a/tests/baselines/reference/forwardRefInTypeDeclaration.types
+++ b/tests/baselines/reference/forwardRefInTypeDeclaration.types
@@ -19,7 +19,7 @@ const s2 = "x";
 
 // or in a type definition
 type Foo3 = { [s3]: number; }
->Foo3 : Foo3
+>Foo3 : { x: number; }
 >[s3] : number
 >s3 : "x"
 
diff --git a/tests/baselines/reference/functionCallOnConstrainedTypeVariable.types b/tests/baselines/reference/functionCallOnConstrainedTypeVariable.types
index fb0318f14ddd3..b5734ef468eb0 100644
--- a/tests/baselines/reference/functionCallOnConstrainedTypeVariable.types
+++ b/tests/baselines/reference/functionCallOnConstrainedTypeVariable.types
@@ -2,7 +2,7 @@
 // Repro from #20196
 
 type A = {
->A : A
+>A : { a: (x: number) => string; }
 
   a: (x: number) => string
 >a : (x: number) => string
@@ -10,7 +10,7 @@ type A = {
 
 };
 type B = {
->B : B
+>B : { a: (x: boolean) => string; }
 
   a: (x: boolean) => string
 >a : (x: boolean) => string
diff --git a/tests/baselines/reference/genericContextualTypes1.types b/tests/baselines/reference/genericContextualTypes1.types
index f617b827ee2c6..d8bebed28bf9f 100644
--- a/tests/baselines/reference/genericContextualTypes1.types
+++ b/tests/baselines/reference/genericContextualTypes1.types
@@ -236,7 +236,7 @@ const f40: <A, B>(b: B, a: A) => [A, B] = flip(zip);
 // Repro from #16293
 
 type fn = <A>(a: A) => A;
->fn : fn
+>fn : <A>(a: A) => A
 >a : A
 
 const fn: fn = a => a;
diff --git a/tests/baselines/reference/genericDefaultsErrors.types b/tests/baselines/reference/genericDefaultsErrors.types
index 2cd4d83c52732..312e130271566 100644
--- a/tests/baselines/reference/genericDefaultsErrors.types
+++ b/tests/baselines/reference/genericDefaultsErrors.types
@@ -70,10 +70,10 @@ type i09t01 = i09<1>; // error
 >i09t01 : any
 
 type i09t02 = i09<1, 2>; // ok
->i09t02 : i09t02
+>i09t02 : i09<1, 2, number>
 
 type i09t03 = i09<1, 2, 3>; // ok
->i09t03 : i09t03
+>i09t03 : i09<1, 2, 3>
 
 type i09t04 = i09<1, 2, 3, 4>; // error
 >i09t04 : any
diff --git a/tests/baselines/reference/genericFunctionInference1.types b/tests/baselines/reference/genericFunctionInference1.types
index 9ce0b1b2b24bb..d76a85dd43d85 100644
--- a/tests/baselines/reference/genericFunctionInference1.types
+++ b/tests/baselines/reference/genericFunctionInference1.types
@@ -808,7 +808,7 @@ const fn20 = pipe((_a?: {}) => 1);
 // #29904.3
 
 type Fn = (n: number) => number;
->Fn : Fn
+>Fn : (n: number) => number
 >n : number
 
 const fn30: Fn = pipe(
diff --git a/tests/baselines/reference/genericFunctionInference2.types b/tests/baselines/reference/genericFunctionInference2.types
index 85208d6fee42c..79fd0d14fd02c 100644
--- a/tests/baselines/reference/genericFunctionInference2.types
+++ b/tests/baselines/reference/genericFunctionInference2.types
@@ -10,7 +10,7 @@ declare function combineReducers<S>(reducers: { [K in keyof S]: Reducer<S[K]> })
 >reducers : { [K in keyof S]: Reducer<S[K]>; }
 
 type MyState = { combined: { foo: number } };
->MyState : MyState
+>MyState : { combined: {    foo: number;}; }
 >combined : { foo: number; }
 >foo : number
 
@@ -54,7 +54,7 @@ declare function withH<T, U>(handlerCreators: HandleCreatorsFactory<T, U>): U;
 >handlerCreators : HandleCreatorsFactory<T, U>
 
 type Props = { out: number }
->Props : Props
+>Props : { out: number; }
 >out : number
 
 type HandleCreatorsFactory<T, U> = (initialProps: T) => { [P in keyof U]: (props: T) => U[P] };
diff --git a/tests/baselines/reference/genericObjectRest.types b/tests/baselines/reference/genericObjectRest.types
index a10fc4d25c870..48a0ada2e7176 100644
--- a/tests/baselines/reference/genericObjectRest.types
+++ b/tests/baselines/reference/genericObjectRest.types
@@ -88,7 +88,7 @@ function f3<T, K1 extends keyof T, K2 extends keyof T>(obj: T, k1: K1, k2: K2) {
 }
 
 type Item = { a: string, b: number, c: boolean };
->Item : Item
+>Item : { a: string; b: number; c: boolean; }
 >a : string
 >b : number
 >c : boolean
diff --git a/tests/baselines/reference/genericObjectSpreadResultInSwitch.types b/tests/baselines/reference/genericObjectSpreadResultInSwitch.types
index 4c9ca429daa37..40505e8bbf536 100644
--- a/tests/baselines/reference/genericObjectSpreadResultInSwitch.types
+++ b/tests/baselines/reference/genericObjectSpreadResultInSwitch.types
@@ -1,6 +1,6 @@
 === tests/cases/compiler/genericObjectSpreadResultInSwitch.ts ===
 type Params = {
->Params : Params
+>Params : { foo: string; } & ({ tag: 'a'; type: number; } | { tag: 'b'; type: string; })
 
     foo: string;
 >foo : string
diff --git a/tests/baselines/reference/genericRestParameters1.types b/tests/baselines/reference/genericRestParameters1.types
index 1e45a3c86621e..687ab9751ddec 100644
--- a/tests/baselines/reference/genericRestParameters1.types
+++ b/tests/baselines/reference/genericRestParameters1.types
@@ -704,7 +704,7 @@ type T09 = Parameters<Function>;
 >T09 : never
 
 type Record1 = {
->Record1 : Record1
+>Record1 : { move: [number, 'left' | 'right']; jump: [number, 'up' | 'down']; stop: string; done: []; }
 
   move: [number, 'left' | 'right'];
 >move : [number, "left" | "right"]
diff --git a/tests/baselines/reference/genericRestParameters3.types b/tests/baselines/reference/genericRestParameters3.types
index be5b2c2091d05..d582932ba8124 100644
--- a/tests/baselines/reference/genericRestParameters3.types
+++ b/tests/baselines/reference/genericRestParameters3.types
@@ -230,10 +230,10 @@ foo2(...x2);
 // Repros from #47754
 
 type RestParams = [y: string] | [y: number];
->RestParams : RestParams
+>RestParams : [y: string] | [y: number]
 
 type Signature = (x: string, ...rest: RestParams) => void;
->Signature : Signature
+>Signature : (x: string, ...rest: RestParams) => void
 >x : string
 >rest : RestParams
 
diff --git a/tests/baselines/reference/genericRestTypes.types b/tests/baselines/reference/genericRestTypes.types
index 63eb00c63ba19..9341cfeefd5cc 100644
--- a/tests/baselines/reference/genericRestTypes.types
+++ b/tests/baselines/reference/genericRestTypes.types
@@ -10,12 +10,12 @@ type Tail<T extends any[]> = ((...args: T) => any) extends ((head: any, ...tail:
 >tail : U
 
 type MyFunctionType = (foo: number, bar: string) => boolean;
->MyFunctionType : MyFunctionType
+>MyFunctionType : (foo: number, bar: string) => boolean
 >foo : number
 >bar : string
 
 type Explicit = (...args: Tail<Parameters<MyFunctionType>>) => ReturnType<MyFunctionType>; // (bar: string) => boolean
->Explicit : Explicit
+>Explicit : (bar: string) => ReturnType<MyFunctionType>
 >args : [bar: string]
 
 type Bind1<T extends (head: any, ...tail: any[]) => any> = (...args: Tail<Parameters<T>>) => ReturnType<T>;
@@ -25,7 +25,7 @@ type Bind1<T extends (head: any, ...tail: any[]) => any> = (...args: Tail<Parame
 >args : Tail<Parameters<T>>
 
 type Generic = Bind1<MyFunctionType>; // (bar: string) => boolean
->Generic : Generic
+>Generic : (bar: string) => boolean
 
 function assignmentWithComplexRest<T extends any[]>() {
 >assignmentWithComplexRest : <T extends any[]>() => void
diff --git a/tests/baselines/reference/getParameterNameAtPosition.types b/tests/baselines/reference/getParameterNameAtPosition.types
index 1e0c92129010b..8eb527b41ec71 100644
--- a/tests/baselines/reference/getParameterNameAtPosition.types
+++ b/tests/baselines/reference/getParameterNameAtPosition.types
@@ -6,7 +6,7 @@ interface Mock<Y extends any[]> extends Function {
 >args : Y
 }
 type Tester = (opts: any, done: (...args: any[]) => any) => any;
->Tester : Tester
+>Tester : (opts: any, done: (...args: any[]) => any) => any
 >opts : any
 >done : (...args: any[]) => any
 >args : any[]
diff --git a/tests/baselines/reference/hugeDeclarationOutputGetsTruncatedWithError.types b/tests/baselines/reference/hugeDeclarationOutputGetsTruncatedWithError.types
index 1db099f87a1a0..28fcd4fd0dffb 100644
--- a/tests/baselines/reference/hugeDeclarationOutputGetsTruncatedWithError.types
+++ b/tests/baselines/reference/hugeDeclarationOutputGetsTruncatedWithError.types
@@ -1,6 +1,6 @@
 === tests/cases/compiler/hugeDeclarationOutputGetsTruncatedWithError.ts ===
 type props = "a" | "b" | "c" | "d" | "e" | "f" | "g" | "h" | "i" | "j" | "k" | "l" | "m" | "n" | "o" | "p" | "q" | "r" | "s" | "t" | "u" | "v" | "w" | "x" | "y" | "z";
->props : props
+>props : "a" | "b" | "c" | "d" | "e" | "f" | "g" | "h" | "i" | "j" | "k" | "l" | "m" | "n" | "o" | "p" | "q" | "r" | "s" | "t" | "u" | "v" | "w" | "x" | "y" | "z"
 
 type manyprops = `${props}${props}`;
 >manyprops : "aa" | "ab" | "ac" | "ad" | "ae" | "af" | "ag" | "ah" | "ai" | "aj" | "ak" | "al" | "am" | "an" | "ao" | "ap" | "aq" | "ar" | "as" | "at" | "au" | "av" | "aw" | "ax" | "ay" | "az" | "ba" | "bb" | "bc" | "bd" | "be" | "bf" | "bg" | "bh" | "bi" | "bj" | "bk" | "bl" | "bm" | "bn" | "bo" | "bp" | "bq" | "br" | "bs" | "bt" | "bu" | "bv" | "bw" | "bx" | "by" | "bz" | "ca" | "cb" | "cc" | "cd" | "ce" | "cf" | "cg" | "ch" | "ci" | "cj" | "ck" | "cl" | "cm" | "cn" | "co" | "cp" | "cq" | "cr" | "cs" | "ct" | "cu" | "cv" | "cw" | "cx" | "cy" | "cz" | "da" | "db" | "dc" | "dd" | "de" | "df" | "dg" | "dh" | "di" | "dj" | "dk" | "dl" | "dm" | "dn" | "do" | "dp" | "dq" | "dr" | "ds" | "dt" | "du" | "dv" | "dw" | "dx" | "dy" | "dz" | "ea" | "eb" | "ec" | "ed" | "ee" | "ef" | "eg" | "eh" | "ei" | "ej" | "ek" | "el" | "em" | "en" | "eo" | "ep" | "eq" | "er" | "es" | "et" | "eu" | "ev" | "ew" | "ex" | "ey" | "ez" | "fa" | "fb" | "fc" | "fd" | "fe" | "ff" | "fg" | "fh" | "fi" | "fj" | "fk" | "fl" | "fm" | "fn" | "fo" | "fp" | "fq" | "fr" | "fs" | "ft" | "fu" | "fv" | "fw" | "fx" | "fy" | "fz" | "ga" | "gb" | "gc" | "gd" | "ge" | "gf" | "gg" | "gh" | "gi" | "gj" | "gk" | "gl" | "gm" | "gn" | "go" | "gp" | "gq" | "gr" | "gs" | "gt" | "gu" | "gv" | "gw" | "gx" | "gy" | "gz" | "ha" | "hb" | "hc" | "hd" | "he" | "hf" | "hg" | "hh" | "hi" | "hj" | "hk" | "hl" | "hm" | "hn" | "ho" | "hp" | "hq" | "hr" | "hs" | "ht" | "hu" | "hv" | "hw" | "hx" | "hy" | "hz" | "ia" | "ib" | "ic" | "id" | "ie" | "if" | "ig" | "ih" | "ii" | "ij" | "ik" | "il" | "im" | "in" | "io" | "ip" | "iq" | "ir" | "is" | "it" | "iu" | "iv" | "iw" | "ix" | "iy" | "iz" | "ja" | "jb" | "jc" | "jd" | "je" | "jf" | "jg" | "jh" | "ji" | "jj" | "jk" | "jl" | "jm" | "jn" | "jo" | "jp" | "jq" | "jr" | "js" | "jt" | "ju" | "jv" | "jw" | "jx" | "jy" | "jz" | "ka" | "kb" | "kc" | "kd" | "ke" | "kf" | "kg" | "kh" | "ki" | "kj" | "kk" | "kl" | "km" | "kn" | "ko" | "kp" | "kq" | "kr" | "ks" | "kt" | "ku" | "kv" | "kw" | "kx" | "ky" | "kz" | "la" | "lb" | "lc" | "ld" | "le" | "lf" | "lg" | "lh" | "li" | "lj" | "lk" | "ll" | "lm" | "ln" | "lo" | "lp" | "lq" | "lr" | "ls" | "lt" | "lu" | "lv" | "lw" | "lx" | "ly" | "lz" | "ma" | "mb" | "mc" | "md" | "me" | "mf" | "mg" | "mh" | "mi" | "mj" | "mk" | "ml" | "mm" | "mn" | "mo" | "mp" | "mq" | "mr" | "ms" | "mt" | "mu" | "mv" | "mw" | "mx" | "my" | "mz" | "na" | "nb" | "nc" | "nd" | "ne" | "nf" | "ng" | "nh" | "ni" | "nj" | "nk" | "nl" | "nm" | "nn" | "no" | "np" | "nq" | "nr" | "ns" | "nt" | "nu" | "nv" | "nw" | "nx" | "ny" | "nz" | "oa" | "ob" | "oc" | "od" | "oe" | "of" | "og" | "oh" | "oi" | "oj" | "ok" | "ol" | "om" | "on" | "oo" | "op" | "oq" | "or" | "os" | "ot" | "ou" | "ov" | "ow" | "ox" | "oy" | "oz" | "pa" | "pb" | "pc" | "pd" | "pe" | "pf" | "pg" | "ph" | "pi" | "pj" | "pk" | "pl" | "pm" | "pn" | "po" | "pp" | "pq" | "pr" | "ps" | "pt" | "pu" | "pv" | "pw" | "px" | "py" | "pz" | "qa" | "qb" | "qc" | "qd" | "qe" | "qf" | "qg" | "qh" | "qi" | "qj" | "qk" | "ql" | "qm" | "qn" | "qo" | "qp" | "qq" | "qr" | "qs" | "qt" | "qu" | "qv" | "qw" | "qx" | "qy" | "qz" | "ra" | "rb" | "rc" | "rd" | "re" | "rf" | "rg" | "rh" | "ri" | "rj" | "rk" | "rl" | "rm" | "rn" | "ro" | "rp" | "rq" | "rr" | "rs" | "rt" | "ru" | "rv" | "rw" | "rx" | "ry" | "rz" | "sa" | "sb" | "sc" | "sd" | "se" | "sf" | "sg" | "sh" | "si" | "sj" | "sk" | "sl" | "sm" | "sn" | "so" | "sp" | "sq" | "sr" | "ss" | "st" | "su" | "sv" | "sw" | "sx" | "sy" | "sz" | "ta" | "tb" | "tc" | "td" | "te" | "tf" | "tg" | "th" | "ti" | "tj" | "tk" | "tl" | "tm" | "tn" | "to" | "tp" | "tq" | "tr" | "ts" | "tt" | "tu" | "tv" | "tw" | "tx" | "ty" | "tz" | "ua" | "ub" | "uc" | "ud" | "ue" | "uf" | "ug" | "uh" | "ui" | "uj" | "uk" | "ul" | "um" | "un" | "uo" | "up" | "uq" | "ur" | "us" | "ut" | "uu" | "uv" | "uw" | "ux" | "uy" | "uz" | "va" | "vb" | "vc" | "vd" | "ve" | "vf" | "vg" | "vh" | "vi" | "vj" | "vk" | "vl" | "vm" | "vn" | "vo" | "vp" | "vq" | "vr" | "vs" | "vt" | "vu" | "vv" | "vw" | "vx" | "vy" | "vz" | "wa" | "wb" | "wc" | "wd" | "we" | "wf" | "wg" | "wh" | "wi" | "wj" | "wk" | "wl" | "wm" | "wn" | "wo" | "wp" | "wq" | "wr" | "ws" | "wt" | "wu" | "wv" | "ww" | "wx" | "wy" | "wz" | "xa" | "xb" | "xc" | "xd" | "xe" | "xf" | "xg" | "xh" | "xi" | "xj" | "xk" | "xl" | "xm" | "xn" | "xo" | "xp" | "xq" | "xr" | "xs" | "xt" | "xu" | "xv" | "xw" | "xx" | "xy" | "xz" | "ya" | "yb" | "yc" | "yd" | "ye" | "yf" | "yg" | "yh" | "yi" | "yj" | "yk" | "yl" | "ym" | "yn" | "yo" | "yp" | "yq" | "yr" | "ys" | "yt" | "yu" | "yv" | "yw" | "yx" | "yy" | "yz" | "za" | "zb" | "zc" | "zd" | "ze" | "zf" | "zg" | "zh" | "zi" | "zj" | "zk" | "zl" | "zm" | "zn" | "zo" | "zp" | "zq" | "zr" | "zs" | "zt" | "zu" | "zv" | "zw" | "zx" | "zy" | "zz"
diff --git a/tests/baselines/reference/identicalTypesNoDifferByCheckOrder.types b/tests/baselines/reference/identicalTypesNoDifferByCheckOrder.types
index e4c691c6b952f..55122319b547b 100644
--- a/tests/baselines/reference/identicalTypesNoDifferByCheckOrder.types
+++ b/tests/baselines/reference/identicalTypesNoDifferByCheckOrder.types
@@ -11,7 +11,7 @@ interface SomeProps {
 }
 
 type SomePropsX = Required<Pick<SomeProps, "x">> & Omit<SomeProps, "x">;
->SomePropsX : SomePropsX
+>SomePropsX : Required<Pick<SomeProps, "x">> & Omit<SomeProps, "x">
 
 interface SomePropsClone {
     x?: string;
@@ -25,7 +25,7 @@ interface SomePropsClone {
 }
 
 type SomePropsCloneX = Required<Pick<SomePropsClone, "x">> & Omit<SomePropsClone, "x">;
->SomePropsCloneX : SomePropsCloneX
+>SomePropsCloneX : Required<Pick<SomePropsClone, "x">> & Omit<SomePropsClone, "x">
 
 type Validator<T> = {(): boolean, opt?: T};
 >Validator : Validator<T>
diff --git a/tests/baselines/reference/implementsIncorrectlyNoAssertion.types b/tests/baselines/reference/implementsIncorrectlyNoAssertion.types
index 0c121043e176f..60e193e080be4 100644
--- a/tests/baselines/reference/implementsIncorrectlyNoAssertion.types
+++ b/tests/baselines/reference/implementsIncorrectlyNoAssertion.types
@@ -12,7 +12,7 @@ declare class Bar {
 >y : string
 }
 type Wrapper = Foo & Bar;
->Wrapper : Wrapper
+>Wrapper : Foo & Bar
 
 class Baz implements Wrapper {
 >Baz : Baz
diff --git a/tests/baselines/reference/implicitIndexSignatures.types b/tests/baselines/reference/implicitIndexSignatures.types
index c302edba32fd2..613d0cec7ac5b 100644
--- a/tests/baselines/reference/implicitIndexSignatures.types
+++ b/tests/baselines/reference/implicitIndexSignatures.types
@@ -1,6 +1,6 @@
 === tests/cases/compiler/implicitIndexSignatures.ts ===
 type StringMap = { [x: string]: string };
->StringMap : StringMap
+>StringMap : { [x: string]: string; }
 >x : string
 
 const empty1 = {};
diff --git a/tests/baselines/reference/importClause_namedImports.types b/tests/baselines/reference/importClause_namedImports.types
index 64c6c12b3881e..798cdb3928a68 100644
--- a/tests/baselines/reference/importClause_namedImports.types
+++ b/tests/baselines/reference/importClause_namedImports.types
@@ -3,7 +3,7 @@ export class A {}
 >A : A
 
 export type B  = { b: string };
->B : B
+>B : { b: string; }
 >b : string
 
 export const C = "";
diff --git a/tests/baselines/reference/importEqualsError45874.types b/tests/baselines/reference/importEqualsError45874.types
index 9e3c9c2945eae..7a3d70e746585 100644
--- a/tests/baselines/reference/importEqualsError45874.types
+++ b/tests/baselines/reference/importEqualsError45874.types
@@ -3,7 +3,7 @@ namespace globals {
 >globals : typeof globals
 
   export type Foo = {};
->Foo : Foo
+>Foo : {}
 
   export const Bar = {};
 >Bar : {}
diff --git a/tests/baselines/reference/importPropertyFromMappedType.types b/tests/baselines/reference/importPropertyFromMappedType.types
index efc06ad38e4a0..696cb83599dc5 100644
--- a/tests/baselines/reference/importPropertyFromMappedType.types
+++ b/tests/baselines/reference/importPropertyFromMappedType.types
@@ -10,7 +10,7 @@ declare const createHttpError: createHttpError.NamedConstructors;
 
 declare namespace createHttpError {
     type NamedConstructors =  { [P in 'NotFound']: unknown;}
->NamedConstructors : NamedConstructors
+>NamedConstructors : { NotFound: unknown; }
 }
 
 === tests/cases/compiler/main.ts ===
diff --git a/tests/baselines/reference/importShouldNotBeElidedInDeclarationEmit.types b/tests/baselines/reference/importShouldNotBeElidedInDeclarationEmit.types
index 6501bab43e581..7e71235bb2fb1 100644
--- a/tests/baselines/reference/importShouldNotBeElidedInDeclarationEmit.types
+++ b/tests/baselines/reference/importShouldNotBeElidedInDeclarationEmit.types
@@ -3,7 +3,7 @@ export as namespace UMD;
 >UMD : typeof import("tests/cases/compiler/node_modules/umd")
 
 export type Thing = {
->Thing : Thing
+>Thing : { a: number; }
 
     a: number;
 >a : number
diff --git a/tests/baselines/reference/importTypeGenericArrowTypeParenthesized.types b/tests/baselines/reference/importTypeGenericArrowTypeParenthesized.types
index 1da9f5906973f..fe9cf70f63465 100644
--- a/tests/baselines/reference/importTypeGenericArrowTypeParenthesized.types
+++ b/tests/baselines/reference/importTypeGenericArrowTypeParenthesized.types
@@ -41,7 +41,7 @@ export const works1 = fn((x: number) => x);
 >x : number
 
 type MakeItWork = <T>(x: T) => T;
->MakeItWork : MakeItWork
+>MakeItWork : <T>(x: T) => T
 >x : T
 
 export const works2 = fn<MakeItWork>(x => x);
diff --git a/tests/baselines/reference/importsNotUsedAsValues_error.types b/tests/baselines/reference/importsNotUsedAsValues_error.types
index cbe4fc62703c9..99acfb8041ed2 100644
--- a/tests/baselines/reference/importsNotUsedAsValues_error.types
+++ b/tests/baselines/reference/importsNotUsedAsValues_error.types
@@ -4,7 +4,7 @@ export class A {}
 >A : A
 
 export type B = {};
->B : B
+>B : {}
 
 export const enum C { One, Two }
 >C : C
diff --git a/tests/baselines/reference/inKeywordTypeguard.types b/tests/baselines/reference/inKeywordTypeguard.types
index e0956d838e2ec..cb0c545088822 100644
--- a/tests/baselines/reference/inKeywordTypeguard.types
+++ b/tests/baselines/reference/inKeywordTypeguard.types
@@ -383,7 +383,7 @@ function narrowsToNever(x: { l: number } | { r: number }) {
 }
 
 type AOrB = { aProp: number } | { bProp: number };
->AOrB : AOrB
+>AOrB : { aProp: number; } | { bProp: number; }
 >aProp : number
 >bProp : number
 
diff --git a/tests/baselines/reference/indexSignatureAndMappedType.types b/tests/baselines/reference/indexSignatureAndMappedType.types
index 9f3b3e3fe6cc5..c6b129bc4f7a1 100644
--- a/tests/baselines/reference/indexSignatureAndMappedType.types
+++ b/tests/baselines/reference/indexSignatureAndMappedType.types
@@ -56,7 +56,7 @@ function f3<T, U, K extends string>(x: { [key: string]: T }, y: Record<K, U>) {
 // Repro from #14548
 
 type Dictionary = {
->Dictionary : Dictionary
+>Dictionary : { [key: string]: string; }
 
     [key: string]: string;
 >key : string
diff --git a/tests/baselines/reference/indexSignatureWithTrailingComma.types b/tests/baselines/reference/indexSignatureWithTrailingComma.types
index 095e97c6e2d56..9f37e452ab7d6 100644
--- a/tests/baselines/reference/indexSignatureWithTrailingComma.types
+++ b/tests/baselines/reference/indexSignatureWithTrailingComma.types
@@ -1,6 +1,6 @@
 === tests/cases/compiler/indexSignatureWithTrailingComma.ts ===
 type A = {
->A : A
+>A : { [key: string]: string; }
 
     [key: string,]: string;
 >key : string
diff --git a/tests/baselines/reference/indexSignatures1.types b/tests/baselines/reference/indexSignatures1.types
index 720f4357c1904..a114c1cf33dda 100644
--- a/tests/baselines/reference/indexSignatures1.types
+++ b/tests/baselines/reference/indexSignatures1.types
@@ -179,7 +179,7 @@ dom = { date123: 'hello' };  // Error
 // Contextual typing by index signature with template literal pattern
 
 type Funcs = {
->Funcs : Funcs
+>Funcs : { [key: `s${string}`]: (x: string) => void; [key: `n${string}`]: (x: number) => void; }
 
     [key: `s${string}`]: (x: string) => void,
 >key : `s${string}`
@@ -214,7 +214,7 @@ const funcs: Funcs = {
 // Duplicate index signature checking
 
 type Duplicates = {
->Duplicates : Duplicates
+>Duplicates : { [key: string]: any; [key: number]: any; [key: symbol]: any; [key: `foo${string}`]: any; }
 
     [key: string | number]: any;  // Error
 >key : string | number
@@ -232,7 +232,7 @@ type Duplicates = {
 // Conflicting index signature checking
 
 type Conflicting = {
->Conflicting : Conflicting
+>Conflicting : { [key: `a${string}`]: "a"; [key: `${string}a`]: "b"; [key: `a${string}a`]: "c"; }
 
     [key: `a${string}`]: 'a';
 >key : `a${string}`
@@ -265,18 +265,18 @@ type Invalid<T extends string> = {
 // Intersections in index signatures
 
 type Tag1 = { __tag1__: void };
->Tag1 : Tag1
+>Tag1 : { __tag1__: void; }
 >__tag1__ : void
 
 type Tag2 = { __tag2__: void };
->Tag2 : Tag2
+>Tag2 : { __tag2__: void; }
 >__tag2__ : void
 
 type TaggedString1 = string & Tag1;
->TaggedString1 : TaggedString1
+>TaggedString1 : string & Tag1
 
 type TaggedString2 = string & Tag2;
->TaggedString2 : TaggedString2
+>TaggedString2 : string & Tag2
 
 declare let s0: string;
 >s0 : string
@@ -958,7 +958,7 @@ const AmIPseudo: Pseudo = '&';  // Error
 >'&' : "&"
 
 type PseudoDeclaration = { [key in Pseudo]: string };
->PseudoDeclaration : PseudoDeclaration
+>PseudoDeclaration : { [x: `&:${string}`]: string; }
 
 const test: PseudoDeclaration = { 'someKey' : 'someValue' };  // Error
 >test : PseudoDeclaration
@@ -978,7 +978,7 @@ const path2: FieldPattern = 'two';  // Error
 >'two' : "two"
 
 type PathsObject = { [P in FieldPattern]: object; };
->PathsObject : PathsObject
+>PathsObject : { [x: `/${string}`]: object; }
 
 const pathObject: PathsObject = 123;  // Error
 >pathObject : PathsObject
@@ -992,7 +992,7 @@ const id: IdType = '0000-0000-0000-0001';
 >'0000-0000-0000-0001' : "0000-0000-0000-0001"
 
 type A = Record<IdType, string>;
->A : A
+>A : { [x: `${number}-${number}-${number}-${number}`]: string; }
 
 const a: A = { [id]: 'test' }
 >a : A
@@ -1054,15 +1054,15 @@ const obj3: { [key: number]: string } = { [sym]: 'hello '};  // Error
 // Repro from #45772
 
 type Id = string & { __tag: 'id '};
->Id : Id
+>Id : string & { __tag: 'id '; }
 >__tag : "id "
 
 type Rec1 = { [key: Id]: number };
->Rec1 : Rec1
+>Rec1 : { [key: Id]: number; }
 >key : Id
 
 type Rec2 = Record<Id, number>;
->Rec2 : Rec2
+>Rec2 : { [x: string & { __tag: "id "; }]: number; }
 
 type K1 = keyof Rec1;  // Id
 >K1 : Id
diff --git a/tests/baselines/reference/indexedAccessKeyofNestedSimplifiedSubstituteUnwrapped.types b/tests/baselines/reference/indexedAccessKeyofNestedSimplifiedSubstituteUnwrapped.types
index 8c4739cf4879b..b7a4e79d89a94 100644
--- a/tests/baselines/reference/indexedAccessKeyofNestedSimplifiedSubstituteUnwrapped.types
+++ b/tests/baselines/reference/indexedAccessKeyofNestedSimplifiedSubstituteUnwrapped.types
@@ -1,6 +1,6 @@
 === tests/cases/compiler/indexedAccessKeyofNestedSimplifiedSubstituteUnwrapped.ts ===
 type AnyFunction = (...args: any[]) => any;
->AnyFunction : AnyFunction
+>AnyFunction : (...args: any[]) => any
 >args : any[]
 
 type Params<T> = Parameters<Extract<T, AnyFunction>>;
diff --git a/tests/baselines/reference/indexedAccessRetainsIndexSignature.types b/tests/baselines/reference/indexedAccessRetainsIndexSignature.types
index 830ee6629fa8e..fa1dafca6dc0a 100644
--- a/tests/baselines/reference/indexedAccessRetainsIndexSignature.types
+++ b/tests/baselines/reference/indexedAccessRetainsIndexSignature.types
@@ -17,7 +17,7 @@ type Omit2<T, K extends keyof T> = {[P in Diff<keyof T, K>]: T[P]};
 >Omit2 : Omit2<T, K>
 
 type O = Omit<{ a: number, b: string }, 'a'>
->O : O
+>O : { b: string; }
 >a : number
 >b : string
 
diff --git a/tests/baselines/reference/indexerConstraints2.types b/tests/baselines/reference/indexerConstraints2.types
index 9c9222816379e..9a0e92d169932 100644
--- a/tests/baselines/reference/indexerConstraints2.types
+++ b/tests/baselines/reference/indexerConstraints2.types
@@ -83,7 +83,7 @@ interface N {
 }
 
 type IndexableUnion = "foo" | "bar";
->IndexableUnion : IndexableUnion
+>IndexableUnion : "foo" | "bar"
 
 interface O {
     [u: IndexableUnion]: A;
@@ -91,7 +91,7 @@ interface O {
 }
 
 type NonIndexableUnion = boolean | {};
->NonIndexableUnion : NonIndexableUnion
+>NonIndexableUnion : boolean | {}
 
 interface P {
     [u: NonIndexableUnion]: A;
@@ -99,7 +99,7 @@ interface P {
 }
 
 type NonIndexableUnion2 = string | number;
->NonIndexableUnion2 : NonIndexableUnion2
+>NonIndexableUnion2 : string | number
 
 interface Q {
     [u: NonIndexableUnion2]: A;
@@ -107,7 +107,7 @@ interface Q {
 }
 
 type NonIndexableUnion3 = "foo" | 42;
->NonIndexableUnion3 : NonIndexableUnion3
+>NonIndexableUnion3 : "foo" | 42
 
 interface R {
     [u: NonIndexableUnion3]: A;
diff --git a/tests/baselines/reference/indexingTypesWithNever.types b/tests/baselines/reference/indexingTypesWithNever.types
index dc0a535331875..84eefc13fab54 100644
--- a/tests/baselines/reference/indexingTypesWithNever.types
+++ b/tests/baselines/reference/indexingTypesWithNever.types
@@ -1,6 +1,6 @@
 === tests/cases/compiler/indexingTypesWithNever.ts ===
 type TestObj = {
->TestObj : TestObj
+>TestObj : { a: string; b: number; }
 
   a: string;
 >a : string
@@ -15,7 +15,7 @@ type Result1 = TestObj[never];
 >Result1 : never
 
 type EmptyObj = {};
->EmptyObj : EmptyObj
+>EmptyObj : {}
 
 // Should be never but without an error
 type Result2 = EmptyObj[keyof EmptyObj];
@@ -127,25 +127,25 @@ type ExpectType<Exp, Act> = Match<Exp, Act> extends "Match"
   : "Did not match";
 
 type P3 = { a: string; b: number; c?: boolean };
->P3 : P3
+>P3 : { a: string; b: number; c?: boolean | undefined; }
 >a : string
 >b : number
 >c : boolean | undefined
 
 type P2 = { a: string; c?: boolean };
->P2 : P2
+>P2 : { a: string; c?: boolean | undefined; }
 >a : string
 >c : boolean | undefined
 
 type P1 = { c?: boolean };
->P1 : P1
+>P1 : { c?: boolean | undefined; }
 >c : boolean | undefined
 
 type P0 = {};
->P0 : P0
+>P0 : {}
 
 type P3Names = RequiredPropNames<P3>; // expect 'a' | 'b'
->P3Names : P3Names
+>P3Names : "a" | "b"
 
 type P2Names = RequiredPropNames<P2>; // expect 'a'
 >P2Names : "a"
@@ -169,16 +169,16 @@ declare const p0NameTest: ExpectType<never, P0Names>;
 >p0NameTest : "Match"
 
 type P3Props = RequiredProps<P3>; // expect { a: string; b: number }
->P3Props : P3Props
+>P3Props : { a: string; b: number; }
 
 type P2Props = RequiredProps<P2>; // expect { a: string; }
->P2Props : P2Props
+>P2Props : { a: string; }
 
 type P1Props = RequiredProps<P1>; // expect {}
->P1Props : P1Props
+>P1Props : {}
 
 type P0Props = RequiredProps<P0>; // expect {}
->P0Props : P0Props
+>P0Props : {}
 
 declare const p3Test: ExpectType<{ a: string; b: number }, P3Props>;
 >p3Test : "Match"
@@ -196,25 +196,25 @@ declare const p0Test: ExpectType<{}, P0Props>;
 >p0Test : "Match"
 
 type O3 = { a?: string; b?: number; c: boolean };
->O3 : O3
+>O3 : { a?: string | undefined; b?: number | undefined; c: boolean; }
 >a : string | undefined
 >b : number | undefined
 >c : boolean
 
 type O2 = { a?: string; c: boolean };
->O2 : O2
+>O2 : { a?: string | undefined; c: boolean; }
 >a : string | undefined
 >c : boolean
 
 type O1 = { c: boolean };
->O1 : O1
+>O1 : { c: boolean; }
 >c : boolean
 
 type O0 = {};
->O0 : O0
+>O0 : {}
 
 type O3Names = OptionalPropNames<O3>; // expect 'a' | 'b'
->O3Names : O3Names
+>O3Names : "a" | "b"
 
 type O2Names = OptionalPropNames<O2>; // expect 'a'
 >O2Names : "a"
@@ -238,16 +238,16 @@ declare const o0NameTest: ExpectType<never, O0Names>;
 >o0NameTest : "Match"
 
 type O3Props = OptionalProps<O3>; // expect { a?: string | undefined; b?: number | undefined }
->O3Props : O3Props
+>O3Props : { a?: string | undefined; b?: number | undefined; }
 
 type O2Props = OptionalProps<O2>; // expect { a?: string | undefined; }
->O2Props : O2Props
+>O2Props : { a?: string | undefined; }
 
 type O1Props = OptionalProps<O1>; // expect {}
->O1Props : O1Props
+>O1Props : {}
 
 type O0Props = OptionalProps<O0>; // expect {}
->O0Props : O0Props
+>O0Props : {}
 
 declare const o3Test: ExpectType<{ a?: string; b?: number }, O3Props>;
 >o3Test : "Match"
diff --git a/tests/baselines/reference/indirectTypeParameterReferences.types b/tests/baselines/reference/indirectTypeParameterReferences.types
index f874fca104851..d8721c22b1aa0 100644
--- a/tests/baselines/reference/indirectTypeParameterReferences.types
+++ b/tests/baselines/reference/indirectTypeParameterReferences.types
@@ -2,7 +2,7 @@
 // Repro from #19043
 
 type B = {b: string}
->B : B
+>B : { b: string; }
 >b : string
 
 const flowtypes = <A>(b: B) => {
diff --git a/tests/baselines/reference/inferFromGenericFunctionReturnTypes3.types b/tests/baselines/reference/inferFromGenericFunctionReturnTypes3.types
index 6eb2bbf32e681..dc1d4b32e9b45 100644
--- a/tests/baselines/reference/inferFromGenericFunctionReturnTypes3.types
+++ b/tests/baselines/reference/inferFromGenericFunctionReturnTypes3.types
@@ -172,7 +172,7 @@ export namespace DiagnosticSeverity {
 }
 
 export type DiagnosticSeverity = 1 | 2 | 3 | 4;
->DiagnosticSeverity : DiagnosticSeverity
+>DiagnosticSeverity : 1 | 2 | 3 | 4
 
 export interface Diagnostic {
 	severity?: DiagnosticSeverity;
@@ -294,7 +294,7 @@ declare function box<T>(value: T): Box<T>;
 >value : T
 
 type WinCondition =
->WinCondition : WinCondition
+>WinCondition : { type: 'win'; player: string; } | { type: 'draw'; }
 
     | { type: 'win', player: string }
 >type : "win"
@@ -312,7 +312,7 @@ let zz: Box<WinCondition> = box({ type: 'draw' });
 >'draw' : "draw"
 
 type WinType = 'win' | 'draw';
->WinType : WinType
+>WinType : "win" | "draw"
 
 let yy: Box<WinType> = box('draw');
 >yy : Box<WinType>
@@ -391,7 +391,7 @@ const a3: I[] = ['a', 'b'].map(name => {
 // Repro from https://www.memsql.com/blog/porting-30k-lines-of-code-from-flow-to-typescript/
 	
 type Player = {
->Player : Player
+>Player : { name: string; age: number; position: "STRIKER" | "GOALKEEPER"; }
 
     name: string;
 >name : string
@@ -405,7 +405,7 @@ type Player = {
 };
  
 type F = () => Promise<Array<Player>>;
->F : F
+>F : () => Promise<Array<Player>>
  
 const f1: F = () => {
 >f1 : F
@@ -477,7 +477,7 @@ enum State { A, B }
 >B : State.B
 
 type Foo = { state: State }
->Foo : Foo
+>Foo : { state: State; }
 >state : State
 
 declare function bar<T>(f: () => T[]): T[];
diff --git a/tests/baselines/reference/inferTInParentheses.types b/tests/baselines/reference/inferTInParentheses.types
index c95ebab700aef..1207c2f80f345 100644
--- a/tests/baselines/reference/inferTInParentheses.types
+++ b/tests/baselines/reference/inferTInParentheses.types
@@ -1,6 +1,6 @@
 === tests/cases/compiler/inferTInParentheses.ts ===
 type F1 = (num: [number]) => void;
->F1 : F1
+>F1 : (num: [number]) => void
 >num : [number]
 
 type IsNumber<T extends number> = T;
diff --git a/tests/baselines/reference/inferTypes1.types b/tests/baselines/reference/inferTypes1.types
index c7a609b3eaed2..964ae6c5c6bcd 100644
--- a/tests/baselines/reference/inferTypes1.types
+++ b/tests/baselines/reference/inferTypes1.types
@@ -335,7 +335,7 @@ type Jsonified<T> =
     : "what is this";
 
 type Example = {
->Example : Example
+>Example : { str: "literalstring"; fn: () => void; date: Date; customClass: MyClass; obj: {    prop: "property";    clz: MyClass;    nested: {        attr: Date;    };}; }
 
     str: "literalstring",
 >str : "literalstring"
diff --git a/tests/baselines/reference/inferenceUnionOfObjectsMappedContextualType.types b/tests/baselines/reference/inferenceUnionOfObjectsMappedContextualType.types
index 7a0dc327a499f..f017099d6126c 100644
--- a/tests/baselines/reference/inferenceUnionOfObjectsMappedContextualType.types
+++ b/tests/baselines/reference/inferenceUnionOfObjectsMappedContextualType.types
@@ -1,6 +1,6 @@
 === tests/cases/compiler/inferenceUnionOfObjectsMappedContextualType.ts ===
 type Entity = {
->Entity : Entity
+>Entity : { someDate: Date | null; } & ({ id: string; } | { id: number; })
 
     someDate: Date | null;
 >someDate : Date | null
diff --git a/tests/baselines/reference/inferrenceInfiniteLoopWithSubtyping.types b/tests/baselines/reference/inferrenceInfiniteLoopWithSubtyping.types
index e10562f57bcba..5d1ca14f1c257 100644
--- a/tests/baselines/reference/inferrenceInfiniteLoopWithSubtyping.types
+++ b/tests/baselines/reference/inferrenceInfiniteLoopWithSubtyping.types
@@ -7,7 +7,7 @@ export type Thunk<T> = (() => T) | T;
 >Thunk : Thunk<T>
 
 export type ComposeOutputTypeDefinition = Readonly<ObjectTypeComposer<any, any> | EnumTypeComposer>;
->ComposeOutputTypeDefinition : ComposeOutputTypeDefinition
+>ComposeOutputTypeDefinition : Readonly<ObjectTypeComposer<any, any>> | Readonly<EnumTypeComposer>
 
 export class EnumTypeComposer {
 >EnumTypeComposer : EnumTypeComposer
diff --git a/tests/baselines/reference/instantiateContextualTypes.types b/tests/baselines/reference/instantiateContextualTypes.types
index ff6154c78589c..72ea90d59533e 100644
--- a/tests/baselines/reference/instantiateContextualTypes.types
+++ b/tests/baselines/reference/instantiateContextualTypes.types
@@ -169,7 +169,7 @@ createReducer(
 // #25814
 
 type R = {
->R : R
+>R : { a: (x: number) => void; b: (x: string) => void; }
 
   a: (x: number) => void;
 >a : (x: number) => void
@@ -182,7 +182,7 @@ type R = {
 };
 
 type O = {
->O : O
+>O : { on<P extends keyof R>(x: P, callback: R[P]): void; }
 
   on<P extends keyof R>(x: P, callback: R[P]): void;
 >on : <P extends keyof R>(x: P, callback: R[P]) => void
@@ -329,7 +329,7 @@ passContentsToFunc(outerBoxOfString, box => box.value);
 // Repro from #32349
 
 type DooDad = 'SOMETHING' | 'ELSE' ;
->DooDad : DooDad
+>DooDad : "SOMETHING" | "ELSE"
 
 class Interesting {
 >Interesting : Interesting
diff --git a/tests/baselines/reference/instantiationExpressions.types b/tests/baselines/reference/instantiationExpressions.types
index 43a71f42d3ea5..bb35bc036a14a 100644
--- a/tests/baselines/reference/instantiationExpressions.types
+++ b/tests/baselines/reference/instantiationExpressions.types
@@ -409,14 +409,14 @@ type BoxFunc<T> = typeof makeBox<T>;  // (value: T) => { value: T }
 >makeBox : <T>(value: T) => { value: T; }
 
 type StringBoxFunc = BoxFunc<string>;  // (value: string) => { value: string }
->StringBoxFunc : StringBoxFunc
+>StringBoxFunc : (value: string) => { value: string; }
 
 type Box<T> = ReturnType<typeof makeBox<T>>;  // { value: T }
 >Box : { value: T; }
 >makeBox : <T>(value: T) => { value: T; }
 
 type StringBox = Box<string>;  // { value: string }
->StringBox : StringBox
+>StringBox : { value: string; }
 
 type A<U> = InstanceType<typeof Array<U>>;  // U[]
 >A : U[]
diff --git a/tests/baselines/reference/interfaceDoesNotDependOnBaseTypes.types b/tests/baselines/reference/interfaceDoesNotDependOnBaseTypes.types
index 6883034052e85..8a984980b2ad1 100644
--- a/tests/baselines/reference/interfaceDoesNotDependOnBaseTypes.types
+++ b/tests/baselines/reference/interfaceDoesNotDependOnBaseTypes.types
@@ -25,6 +25,6 @@ if (typeof x !== "string") {
 }
 
 type StringTree = string | StringTreeArray;
->StringTree : StringTree
+>StringTree : string | StringTreeArray
 
 interface StringTreeArray extends Array<StringTree> { }
diff --git a/tests/baselines/reference/interfaceExtendsObjectIntersection.types b/tests/baselines/reference/interfaceExtendsObjectIntersection.types
index af63896907833..26ef179f45487 100644
--- a/tests/baselines/reference/interfaceExtendsObjectIntersection.types
+++ b/tests/baselines/reference/interfaceExtendsObjectIntersection.types
@@ -1,27 +1,27 @@
 === tests/cases/conformance/interfaces/interfaceDeclarations/interfaceExtendsObjectIntersection.ts ===
 type T1 = { a: number };
->T1 : T1
+>T1 : { a: number; }
 >a : number
 
 type T2 = T1 & { b: number };
->T2 : T2
+>T2 : T1 & { b: number; }
 >b : number
 
 type T3 = () => void;
->T3 : T3
+>T3 : () => void
 
 type T4 = new () => { a: number };
->T4 : T4
+>T4 : new () => {    a: number;}
 >a : number
 
 type T5 = number[];
->T5 : T5
+>T5 : number[]
 
 type T6 = [string, number];
->T6 : T6
+>T6 : [string, number]
 
 type T7 = { [P in 'a' | 'b' | 'c']: string };
->T7 : T7
+>T7 : { a: string; b: string; c: string; }
 
 interface I1 extends T1 { x: string }
 >x : string
diff --git a/tests/baselines/reference/interfaceExtendsObjectIntersectionErrors.types b/tests/baselines/reference/interfaceExtendsObjectIntersectionErrors.types
index 2fc15b5399411..651ce89bced13 100644
--- a/tests/baselines/reference/interfaceExtendsObjectIntersectionErrors.types
+++ b/tests/baselines/reference/interfaceExtendsObjectIntersectionErrors.types
@@ -1,20 +1,20 @@
 === tests/cases/conformance/interfaces/interfaceDeclarations/interfaceExtendsObjectIntersectionErrors.ts ===
 type T1 = { a: number };
->T1 : T1
+>T1 : { a: number; }
 >a : number
 
 type T2 = T1 & { b: number };
->T2 : T2
+>T2 : T1 & { b: number; }
 >b : number
 
 type T3 = number[];
->T3 : T3
+>T3 : number[]
 
 type T4 = [string, number];
->T4 : T4
+>T4 : [string, number]
 
 type T5 = { [P in 'a' | 'b' | 'c']: string };
->T5 : T5
+>T5 : { a: string; b: string; c: string; }
 
 interface I1 extends T1 { a: string }
 >a : string
@@ -130,7 +130,7 @@ interface I23 extends Identifiable<T1 & { b: number}> { a: string }
 >a : string
 
 type U = { a: number } | { b: string };
->U : U
+>U : { a: number; } | { b: string; }
 >a : number
 >b : string
 
diff --git a/tests/baselines/reference/intersectionAsWeakTypeSource.types b/tests/baselines/reference/intersectionAsWeakTypeSource.types
index 2362f7c92c17f..4c4f552e8cf5c 100644
--- a/tests/baselines/reference/intersectionAsWeakTypeSource.types
+++ b/tests/baselines/reference/intersectionAsWeakTypeSource.types
@@ -9,7 +9,7 @@ interface Z { z?: boolean }
 >z : boolean
 
 type XY = X & Y;
->XY : XY
+>XY : X & Y
 
 const xy: XY = {x: 'x', y: 10};
 >xy : XY
diff --git a/tests/baselines/reference/intersectionMemberOfUnionNarrowsCorrectly.types b/tests/baselines/reference/intersectionMemberOfUnionNarrowsCorrectly.types
index 77805ece13b11..73f063a571df3 100644
--- a/tests/baselines/reference/intersectionMemberOfUnionNarrowsCorrectly.types
+++ b/tests/baselines/reference/intersectionMemberOfUnionNarrowsCorrectly.types
@@ -1,6 +1,6 @@
 === tests/cases/conformance/types/intersection/intersectionMemberOfUnionNarrowsCorrectly.ts ===
 export type U = { kind?: 'A', a: string } | { kind?: 'B' } & { b: string };
->U : U
+>U : { kind?: 'A'; a: string; } | ({ kind?: 'B'; } & { b: string; })
 >kind : "A"
 >a : string
 >kind : "B"
diff --git a/tests/baselines/reference/intersectionOfUnionNarrowing.types b/tests/baselines/reference/intersectionOfUnionNarrowing.types
index 27dc8f3dc6c6c..5a9072bfa60bc 100644
--- a/tests/baselines/reference/intersectionOfUnionNarrowing.types
+++ b/tests/baselines/reference/intersectionOfUnionNarrowing.types
@@ -9,7 +9,7 @@ interface X {
 >bProp : string
 }
 type AorB = { a: object; b: undefined } | { a: undefined; b: object };
->AorB : AorB
+>AorB : { a: object; b: undefined; } | { a: undefined; b: object; }
 >a : object
 >b : undefined
 >a : undefined
diff --git a/tests/baselines/reference/intersectionReduction.types b/tests/baselines/reference/intersectionReduction.types
index 482e13483b8c5..4ecfe50e4271b 100644
--- a/tests/baselines/reference/intersectionReduction.types
+++ b/tests/baselines/reference/intersectionReduction.types
@@ -31,7 +31,7 @@ type T7 = string & 'a' & number & 10 & symbol & typeof sym1;  // never
 >sym1 : unique symbol
 
 type T10 = string & ('a' | 'b');  // 'a' | 'b'
->T10 : T10
+>T10 : "a" | "b"
 
 type T11 = (string | number) & ('a' | 10);  // 'a' | 10
 >T11 : "a" | 10
@@ -61,7 +61,7 @@ type N7 = void & string;
 >N7 : never
 
 type X = { x: string };
->X : X
+>X : { x: string; }
 >x : string
 
 type X1 = X | 'a' & 'b';
@@ -89,17 +89,17 @@ type X7 = X | void & string;
 >X7 : X
 
 type A = { kind: 'a', foo: string };
->A : A
+>A : { kind: 'a'; foo: string; }
 >kind : "a"
 >foo : string
 
 type B = { kind: 'b', foo: number };
->B : B
+>B : { kind: 'b'; foo: number; }
 >kind : "b"
 >foo : number
 
 type C = { kind: 'c', foo: number };
->C : C
+>C : { kind: 'c'; foo: number; }
 >kind : "c"
 >foo : number
 
@@ -143,7 +143,7 @@ type K1 = keyof (A & B);  // string | number | symbol
 >K1 : string | number | symbol
 
 type K2 = keyof A | keyof B;  // 'kind' | 'foo'
->K2 : K2
+>K2 : "kind" | "foo"
 
 type Merge1<T, U> = { [P in keyof (T & U)]: P extends keyof T ? T[P] : U[P & keyof U] }
 >Merge1 : Merge1<T, U>
@@ -159,26 +159,26 @@ type M1 = { a: 1, b: 2 } & { a: 2, c: 3 };  // never
 >c : 3
 
 type M2 = Merge1<{ a: 1, b: 2 }, { a: 2, c: 3 }>;  // {}
->M2 : M2
+>M2 : {}
 >a : 1
 >b : 2
 >a : 2
 >c : 3
 
 type M3 = Merge2<{ a: 1, b: 2 }, { a: 2, c: 3 }>;  // { a: 1, b: 2, c: 3 }
->M3 : M3
+>M3 : { a: 1; b: 2; c: 3; }
 >a : 1
 >b : 2
 >a : 2
 >c : 3
 
 type D = { kind: 'd', foo: unknown };
->D : D
+>D : { kind: 'd'; foo: unknown; }
 >kind : "d"
 >foo : unknown
 
 type E = { kind: 'e', foo: unknown };
->E : E
+>E : { kind: 'e'; foo: unknown; }
 >kind : "e"
 >foo : unknown
 
diff --git a/tests/baselines/reference/intersectionReductionStrict.types b/tests/baselines/reference/intersectionReductionStrict.types
index db47e9ada3fb7..0859d23785e63 100644
--- a/tests/baselines/reference/intersectionReductionStrict.types
+++ b/tests/baselines/reference/intersectionReductionStrict.types
@@ -31,7 +31,7 @@ type T7 = string & 'a' & number & 10 & symbol & typeof sym1;  // never
 >sym1 : unique symbol
 
 type T10 = string & ('a' | 'b');  // 'a' | 'b'
->T10 : T10
+>T10 : "a" | "b"
 
 type T11 = (string | number) & ('a' | 10);  // 'a' | 10
 >T11 : "a" | 10
@@ -61,7 +61,7 @@ type N7 = void & string;
 >N7 : never
 
 type X = { x: string };
->X : X
+>X : { x: string; }
 >x : string
 
 type X1 = X | 'a' & 'b';
@@ -89,17 +89,17 @@ type X7 = X | void & string;
 >X7 : X
 
 type A = { kind: 'a', foo: string };
->A : A
+>A : { kind: 'a'; foo: string; }
 >kind : "a"
 >foo : string
 
 type B = { kind: 'b', foo: number };
->B : B
+>B : { kind: 'b'; foo: number; }
 >kind : "b"
 >foo : number
 
 type C = { kind: 'c', foo: number };
->C : C
+>C : { kind: 'c'; foo: number; }
 >kind : "c"
 >foo : number
 
@@ -143,7 +143,7 @@ type K1 = keyof (A & B);  // string | number | symbol
 >K1 : string | number | symbol
 
 type K2 = keyof A | keyof B;  // 'kind' | 'foo'
->K2 : K2
+>K2 : "kind" | "foo"
 
 type Merge1<T, U> = { [P in keyof (T & U)]: P extends keyof T ? T[P] : U[P & keyof U] }
 >Merge1 : Merge1<T, U>
@@ -159,14 +159,14 @@ type M1 = { a: 1, b: 2 } & { a: 2, c: 3 };  // never
 >c : 3
 
 type M2 = Merge1<{ a: 1, b: 2 }, { a: 2, c: 3 }>;  // {}
->M2 : M2
+>M2 : {}
 >a : 1
 >b : 2
 >a : 2
 >c : 3
 
 type M3 = Merge2<{ a: 1, b: 2 }, { a: 2, c: 3 }>;  // { a: 1, b: 2, c: 3 }
->M3 : M3
+>M3 : { a: 1; b: 2; c: 3; }
 >a : 1
 >b : 2
 >a : 2
diff --git a/tests/baselines/reference/intersectionThisTypes.types b/tests/baselines/reference/intersectionThisTypes.types
index 5814099104365..36babb7bacefd 100644
--- a/tests/baselines/reference/intersectionThisTypes.types
+++ b/tests/baselines/reference/intersectionThisTypes.types
@@ -16,10 +16,10 @@ interface Thing2 {
 }
 
 type Thing3 = Thing1 & Thing2;
->Thing3 : Thing3
+>Thing3 : Thing1 & Thing2
 
 type Thing4 = Thing3 & string[];
->Thing4 : Thing4
+>Thing4 : Thing1 & Thing2 & string[]
 
 function f1(t: Thing3) {
 >f1 : (t: Thing3) => void
diff --git a/tests/baselines/reference/intersectionTypeInference3.types b/tests/baselines/reference/intersectionTypeInference3.types
index 173a882312776..27e65f7684ad6 100644
--- a/tests/baselines/reference/intersectionTypeInference3.types
+++ b/tests/baselines/reference/intersectionTypeInference3.types
@@ -13,7 +13,7 @@ type Nominal<Kind extends string, Type> = Type & {
 };
 
 type A = Nominal<'A', string>;
->A : A
+>A : string & { [Symbol.species]: "A"; }
 
 declare const a: Set<A>;
 >a : Set<A>
diff --git a/tests/baselines/reference/intersectionTypeMembers.types b/tests/baselines/reference/intersectionTypeMembers.types
index a48e05243d84e..9ff067f0b7fa0 100644
--- a/tests/baselines/reference/intersectionTypeMembers.types
+++ b/tests/baselines/reference/intersectionTypeMembers.types
@@ -75,11 +75,11 @@ xyz.x.c = "hello";
 >"hello" : "hello"
 
 type F1 = (x: string) => string;
->F1 : F1
+>F1 : (x: string) => string
 >x : string
 
 type F2 = (x: number) => number;
->F2 : F2
+>F2 : (x: number) => number
 >x : number
 
 var f: F1 & F2;
diff --git a/tests/baselines/reference/intersectionTypeNormalization.types b/tests/baselines/reference/intersectionTypeNormalization.types
index c6e5f6dbaf561..6f2f4e35cb13c 100644
--- a/tests/baselines/reference/intersectionTypeNormalization.types
+++ b/tests/baselines/reference/intersectionTypeNormalization.types
@@ -13,13 +13,13 @@ interface D { d: string }
 
 // Identical ways of writing the same type
 type X1 = (A | B) & (C | D);
->X1 : X1
+>X1 : (A | B) & (C | D)
 
 type X2 = A & (C | D) | B & (C | D)
->X2 : X2
+>X2 : (A & (C | D)) | (B & (C | D))
 
 type X3 = A & C | A & D | B & C | B & D;
->X3 : X3
+>X3 : (A & C) | (A & D) | (B & C) | (B & D)
 
 var x: X1;
 >x : X1
@@ -38,13 +38,13 @@ interface Y { y: string }
 
 // Identical ways of writing the same type
 type Y1 = (A | X & Y) & (C | D);
->Y1 : Y1
+>Y1 : (A | (X & Y)) & (C | D)
 
 type Y2 = A & (C | D) | X & Y & (C | D)
->Y2 : Y2
+>Y2 : (A & (C | D)) | (X & Y & (C | D))
 
 type Y3 = A & C | A & D | X & Y & C | X & Y & D;
->Y3 : Y3
+>Y3 : (A & C) | (A & D) | (X & Y & C) | (X & Y & D)
 
 var y: Y1;
 >y : Y1
@@ -63,16 +63,16 @@ interface N { n: string }
 
 // Identical ways of writing the same type
 type Z1 = (A | X & (M | N)) & (C | D);
->Z1 : Z1
+>Z1 : (A | (X & (M | N))) & (C | D)
 
 type Z2 = A & (C | D) | X & (M | N) & (C | D)
->Z2 : Z2
+>Z2 : (A & (C | D)) | (X & (M | N) & (C | D))
 
 type Z3 = A & C | A & D | X & (M | N) & C | X & (M | N) & D;
->Z3 : Z3
+>Z3 : (A & C) | (A & D) | (X & (M | N) & C) | (X & (M | N) & D)
 
 type Z4 = A & C | A & D | X & M & C | X & N & C | X & M & D | X & N & D;
->Z4 : Z4
+>Z4 : (A & C) | (A & D) | (X & M & C) | (X & M & D) | (X & N & C) | (X & N & D)
 
 var z: Z1;
 >z : Z1
@@ -89,14 +89,14 @@ var z: Z4;
 // Repro from #9919
 
 type ToString = {
->ToString : ToString
+>ToString : { toString(): string; }
 
     toString(): string;
 >toString : () => string
 }
 
 type BoxedValue = { kind: 'int',    num: number }
->BoxedValue : BoxedValue
+>BoxedValue : { kind: 'int'; num: number; } | { kind: 'string'; str: string; }
 >kind : "int"
 >num : number
 
@@ -105,10 +105,10 @@ type BoxedValue = { kind: 'int',    num: number }
 >str : string
 
 type IntersectionFail = BoxedValue & ToString
->IntersectionFail : IntersectionFail
+>IntersectionFail : BoxedValue & ToString
 
 type IntersectionInline = { kind: 'int',    num: number } & ToString
->IntersectionInline : IntersectionInline
+>IntersectionInline : ({ kind: 'int'; num: number; } & ToString) | ({ kind: 'string'; str: string; } & ToString)
 >kind : "int"
 >num : number
 
@@ -198,11 +198,11 @@ namespace enums {
 >c211 : C.c211
     }
     export type Genre = A | B | C;
->Genre : Genre
+>Genre : A | B | C
 }
 
 type Foo = {
->Foo : Foo
+>Foo : { genreId: enums.Genre; }
 
     genreId: enums.Genre;
 >genreId : enums.Genre
@@ -211,7 +211,7 @@ type Foo = {
 };
 
 type Bar = {
->Bar : Bar
+>Bar : { genreId: enums.Genre; }
 
     genreId: enums.Genre;
 >genreId : enums.Genre
@@ -220,7 +220,7 @@ type Bar = {
 };
 
 type FooBar = Foo & Bar;
->FooBar : FooBar
+>FooBar : Foo & Bar
 
 function foo(so: any) {
 >foo : (so: any) => enums.Genre
diff --git a/tests/baselines/reference/intersectionTypeOverloading.types b/tests/baselines/reference/intersectionTypeOverloading.types
index c906b38f5df43..dfaba566255d6 100644
--- a/tests/baselines/reference/intersectionTypeOverloading.types
+++ b/tests/baselines/reference/intersectionTypeOverloading.types
@@ -3,11 +3,11 @@
 // overload resolution
 
 type F = (s: string) => string;
->F : F
+>F : (s: string) => string
 >s : string
 
 type G = (x: any) => any;
->G : G
+>G : (x: any) => any
 >x : any
 
 var fg: F & G;
diff --git a/tests/baselines/reference/intersectionTypeWithLeadingOperator.types b/tests/baselines/reference/intersectionTypeWithLeadingOperator.types
index 826da4d8c51de..6f41770f483ef 100644
--- a/tests/baselines/reference/intersectionTypeWithLeadingOperator.types
+++ b/tests/baselines/reference/intersectionTypeWithLeadingOperator.types
@@ -3,7 +3,7 @@ type A = & string;
 >A : string
 
 type B =
->B : B
+>B : { foo: string; } & { bar: number; }
 
   & { foo: string }
 >foo : string
@@ -12,7 +12,7 @@ type B =
 >bar : number
 
 type C = [& { foo: 1 } & { bar: 2 }, & { foo: 3 } & { bar: 4 }];
->C : C
+>C : [{ foo: 1; } & { bar: 2; }, { foo: 3; } & { bar: 4; }]
 >foo : 1
 >bar : 2
 >foo : 3
diff --git a/tests/baselines/reference/intersectionWithIndexSignatures.types b/tests/baselines/reference/intersectionWithIndexSignatures.types
index c04a1c93bcbc7..21d2d72f0ca4d 100644
--- a/tests/baselines/reference/intersectionWithIndexSignatures.types
+++ b/tests/baselines/reference/intersectionWithIndexSignatures.types
@@ -1,10 +1,10 @@
 === tests/cases/conformance/types/intersection/intersectionWithIndexSignatures.ts ===
 type A = { a: string };
->A : A
+>A : { a: string; }
 >a : string
 
 type B = { b: string };
->B : B
+>B : { b: string; }
 >b : string
 
 declare let sa1: { x: A & B };
@@ -65,7 +65,7 @@ type constr<Source, Tgt> = { [K in keyof Source]: string } & Pick<Tgt, Exclude<k
 >constr : constr<Source, Tgt>
 
 type s = constr<{}, { [key: string]: { a: string } }>;
->s : s
+>s : {} & Pick<{ [key: string]: { a: string; }; }, string | number>
 >key : string
 >a : string
 
diff --git a/tests/baselines/reference/intersectionsAndEmptyObjects.types b/tests/baselines/reference/intersectionsAndEmptyObjects.types
index 1c73b23c07d5c..5459f614a89ed 100644
--- a/tests/baselines/reference/intersectionsAndEmptyObjects.types
+++ b/tests/baselines/reference/intersectionsAndEmptyObjects.types
@@ -3,15 +3,15 @@
 // that contain other object types
 
 type A = { a: number };
->A : A
+>A : { a: number; }
 >a : number
 
 type B = { b: string };
->B : B
+>B : { b: string; }
 >b : string
 
 type C = {};
->C : C
+>C : {}
 
 let x01: A & B;
 >x01 : A & B
@@ -61,7 +61,7 @@ let x14: A & B & C & D & E;
 // Repro from #20225
 
 type Dictionary = { [name: string]: string };
->Dictionary : Dictionary
+>Dictionary : { [name: string]: string; }
 >name : string
 
 const intersectDictionaries = <F1 extends Dictionary, F2 extends Dictionary>(
@@ -177,7 +177,7 @@ type choices<IChoiceList extends {
 };
 
 type IMyChoiceList = {
->IMyChoiceList : IMyChoiceList
+>IMyChoiceList : { car: true; }
 
     car: true
 >car : true
@@ -186,7 +186,7 @@ type IMyChoiceList = {
 };
 
 type IUnknownChoiceList = {};
->IUnknownChoiceList : IUnknownChoiceList
+>IUnknownChoiceList : {}
 
 var defaultChoices: choices<{}>;
 >defaultChoices : { shoes: boolean; food: boolean; }
@@ -209,12 +209,12 @@ var unknownChoicesAndEmpty: choices<IUnknownChoiceList & {}>;
 // Repro from #38672
 
 type Foo1 = { x: string } & { [x: number]: Foo1 };
->Foo1 : Foo1
+>Foo1 : { x: string; } & { [x: number]: Foo1; }
 >x : string
 >x : number
 
 type Foo2 = { x: string } & { [K in number]: Foo2 };
->Foo2 : Foo2
+>Foo2 : { x: string; } & { [x: number]: Foo2; }
 >x : string
 
 // Repro from #40239
diff --git a/tests/baselines/reference/intersectionsAndOptionalProperties.types b/tests/baselines/reference/intersectionsAndOptionalProperties.types
index 98bc85c7e4299..f00ab71e13f3c 100644
--- a/tests/baselines/reference/intersectionsAndOptionalProperties.types
+++ b/tests/baselines/reference/intersectionsAndOptionalProperties.types
@@ -37,7 +37,7 @@ interface To {
 }
 
 type From =  { field: null } & Omit<To, 'field'>;
->From : From
+>From : { field: null; } & Omit<To, "field">
 >field : null
 >null : null
 
diff --git a/tests/baselines/reference/intersectionsAndReadonlyProperties.types b/tests/baselines/reference/intersectionsAndReadonlyProperties.types
index a5130d48111b5..8e1bd8c16d22b 100644
--- a/tests/baselines/reference/intersectionsAndReadonlyProperties.types
+++ b/tests/baselines/reference/intersectionsAndReadonlyProperties.types
@@ -1,7 +1,7 @@
 === tests/cases/compiler/intersectionsAndReadonlyProperties.ts ===
 // readonly and non-readonly
 type Intersection1 = { readonly a: number } & { a: number };
->Intersection1 : Intersection1
+>Intersection1 : { readonly a: number; } & { a: number; }
 >a : number
 >a : number
 
@@ -17,7 +17,7 @@ i1.a = 2;
 
 // getter and setter
 type Intersection2 = { get a(): number } & { set a(v: number) };
->Intersection2 : Intersection2
+>Intersection2 : { readonly a: number; } & { a: number; }
 >a : number
 >a : number
 >v : number
@@ -34,7 +34,7 @@ i2.a = 2;
 
 // assignment to an all read-only property should still be disallowed
 type IntersectionAllReadonly = { readonly a: number } & { get a(): number };
->IntersectionAllReadonly : IntersectionAllReadonly
+>IntersectionAllReadonly : { readonly a: number; } & { readonly a: number; }
 >a : number
 >a : number
 
diff --git a/tests/baselines/reference/intraExpressionInferences.types b/tests/baselines/reference/intraExpressionInferences.types
index 50a99ac34fe11..afd3506665224 100644
--- a/tests/baselines/reference/intraExpressionInferences.types
+++ b/tests/baselines/reference/intraExpressionInferences.types
@@ -303,7 +303,7 @@ class Wrapper<T = any> {
 }
 
 type WrappedMap = Record<string, Wrapper>;
->WrappedMap : WrappedMap
+>WrappedMap : { [x: string]: Wrapper<any>; }
 
 type Unwrap<D extends WrappedMap> = {
 >Unwrap : Unwrap<D>
diff --git a/tests/baselines/reference/isomorphicMappedTypeInference.types b/tests/baselines/reference/isomorphicMappedTypeInference.types
index 800500764a5be..5d2a897899761 100644
--- a/tests/baselines/reference/isomorphicMappedTypeInference.types
+++ b/tests/baselines/reference/isomorphicMappedTypeInference.types
@@ -378,7 +378,7 @@ declare function validateAndClone<T>(obj: { readonly [P in keyof T]?: T[P] }): T
 >obj : { readonly [P in keyof T]?: T[P] | undefined; }
 
 type Foo = {
->Foo : Foo
+>Foo : { a?: number | undefined; readonly b: string; }
 
     a?: number;
 >a : number | undefined
diff --git a/tests/baselines/reference/jsDeclarationsWithDefaultAsNamespaceLikeMerge.types b/tests/baselines/reference/jsDeclarationsWithDefaultAsNamespaceLikeMerge.types
index 5a083f8e4e6e1..3ac3d722e4fdc 100644
--- a/tests/baselines/reference/jsDeclarationsWithDefaultAsNamespaceLikeMerge.types
+++ b/tests/baselines/reference/jsDeclarationsWithDefaultAsNamespaceLikeMerge.types
@@ -1,6 +1,6 @@
 === /helper.d.ts ===
 type Computed = () => any;
->Computed : Computed
+>Computed : () => any
 
 interface Mapper<R> {
     <Key extends string>(map: Key[]): { [K in Key]: R };
diff --git a/tests/baselines/reference/jsxCallElaborationCheckNoCrash1.types b/tests/baselines/reference/jsxCallElaborationCheckNoCrash1.types
index d3fb0d602549b..e4738eae0a0df 100644
--- a/tests/baselines/reference/jsxCallElaborationCheckNoCrash1.types
+++ b/tests/baselines/reference/jsxCallElaborationCheckNoCrash1.types
@@ -5,7 +5,7 @@ import * as React from "react";
 >React : typeof React
 
 type Tags = "span" | "div";
->Tags : Tags
+>Tags : "div" | "span"
 
 export const Hoc = <Tag extends Tags>(
 >Hoc : <Tag extends Tags>(TagElement: Tag) => React.SFC
diff --git a/tests/baselines/reference/jsxChildrenIndividualErrorElaborations.types b/tests/baselines/reference/jsxChildrenIndividualErrorElaborations.types
index 267e3a7027e57..1ebc32a29dc01 100644
--- a/tests/baselines/reference/jsxChildrenIndividualErrorElaborations.types
+++ b/tests/baselines/reference/jsxChildrenIndividualErrorElaborations.types
@@ -122,7 +122,7 @@ var a = <Blah2>
 >Blah2 : (props: PropsArr) => JSX.Element
 
 type Cb = (x: number) => string;
->Cb : Cb
+>Cb : (x: number) => string
 >x : number
 
 interface PropsMixed {
diff --git a/tests/baselines/reference/jsxChildrenSingleChildConfusableWithMultipleChildrenNoError.types b/tests/baselines/reference/jsxChildrenSingleChildConfusableWithMultipleChildrenNoError.types
index 59292bac60f0d..39de0a51e5a46 100644
--- a/tests/baselines/reference/jsxChildrenSingleChildConfusableWithMultipleChildrenNoError.types
+++ b/tests/baselines/reference/jsxChildrenSingleChildConfusableWithMultipleChildrenNoError.types
@@ -5,7 +5,7 @@ import * as React from 'react'
 >React : typeof React
 
 type Tab = [string, React.ReactNode]  // [tabName, tabContent]
->Tab : Tab
+>Tab : [string, React.ReactNode]
 >React : any
 
 interface Props {
diff --git a/tests/baselines/reference/jsxComplexSignatureHasApplicabilityError.types b/tests/baselines/reference/jsxComplexSignatureHasApplicabilityError.types
index ec5130e46a03a..9b0f793c10ab1 100644
--- a/tests/baselines/reference/jsxComplexSignatureHasApplicabilityError.types
+++ b/tests/baselines/reference/jsxComplexSignatureHasApplicabilityError.types
@@ -126,7 +126,7 @@ export type ValueComponentType<TValue = OptionValues> =  React.ComponentType<Val
 >React : any
 
 export type HandlerRendererResult = JSX.Element | null | false;
->HandlerRendererResult : HandlerRendererResult
+>HandlerRendererResult : false | JSX.Element | null
 >JSX : any
 >null : null
 >false : false
@@ -141,11 +141,11 @@ export type SelectValueHandler<TValue = OptionValues> = (option: Option<TValue>)
 >option : Option<TValue>
 
 export type ArrowRendererHandler = (props: ArrowRendererProps) => HandlerRendererResult;
->ArrowRendererHandler : ArrowRendererHandler
+>ArrowRendererHandler : (props: ArrowRendererProps) => HandlerRendererResult
 >props : ArrowRendererProps
 
 export type ClearRendererHandler = () => HandlerRendererResult;
->ClearRendererHandler : ClearRendererHandler
+>ClearRendererHandler : () => HandlerRendererResult
 
 export type FilterOptionHandler<TValue = OptionValues> = (option: Option<TValue>, filter: string) => boolean;
 >FilterOptionHandler : FilterOptionHandler<TValue>
@@ -159,7 +159,7 @@ export type FilterOptionsHandler<TValue = OptionValues> = (options: Options<TVal
 >currentValues : Options<TValue>
 
 export type InputRendererHandler = (props: { [key: string]: any }) => HandlerRendererResult;
->InputRendererHandler : InputRendererHandler
+>InputRendererHandler : (props: { [key: string]: any; }) => HandlerRendererResult
 >props : { [key: string]: any; }
 >key : string
 
@@ -168,28 +168,28 @@ export type MenuRendererHandler<TValue = OptionValues> = (props: MenuRendererPro
 >props : MenuRendererProps<TValue>
 
 export type OnCloseHandler = () => void;
->OnCloseHandler : OnCloseHandler
+>OnCloseHandler : () => void
 
 export type OnInputChangeHandler = (inputValue: string) => string;
->OnInputChangeHandler : OnInputChangeHandler
+>OnInputChangeHandler : (inputValue: string) => string
 >inputValue : string
 
 export type OnInputKeyDownHandler = React.KeyboardEventHandler<HTMLDivElement | HTMLInputElement>;
->OnInputKeyDownHandler : OnInputKeyDownHandler
+>OnInputKeyDownHandler : (event: React.KeyboardEvent<HTMLDivElement | HTMLInputElement>) => void
 >React : any
 
 export type OnMenuScrollToBottomHandler = () => void;
->OnMenuScrollToBottomHandler : OnMenuScrollToBottomHandler
+>OnMenuScrollToBottomHandler : () => void
 
 export type OnOpenHandler = () => void;
->OnOpenHandler : OnOpenHandler
+>OnOpenHandler : () => void
 
 export type OnFocusHandler = React.FocusEventHandler<HTMLDivElement | HTMLInputElement>;
->OnFocusHandler : OnFocusHandler
+>OnFocusHandler : (event: React.FocusEvent<HTMLDivElement | HTMLInputElement>) => void
 >React : any
 
 export type OnBlurHandler = React.FocusEventHandler<HTMLDivElement | HTMLInputElement>;
->OnBlurHandler : OnBlurHandler
+>OnBlurHandler : (event: React.FocusEvent<HTMLDivElement | HTMLInputElement>) => void
 >React : any
 
 export type OptionRendererHandler<TValue = OptionValues> = (option: Option<TValue>) => HandlerRendererResult;
@@ -216,7 +216,7 @@ export type IsOptionUniqueHandler<TValue = OptionValues> = (arg: { option: Optio
 >valueKey : string
 
 export type IsValidNewOptionHandler = (arg: { label: string }) => boolean;
->IsValidNewOptionHandler : IsValidNewOptionHandler
+>IsValidNewOptionHandler : (arg: {    label: string;}) => boolean
 >arg : { label: string; }
 >label : string
 
@@ -228,11 +228,11 @@ export type NewOptionCreatorHandler<TValue = OptionValues> = (arg: { label: stri
 >valueKey : string
 
 export type PromptTextCreatorHandler = (filterText: string) => string;
->PromptTextCreatorHandler : PromptTextCreatorHandler
+>PromptTextCreatorHandler : (filterText: string) => string
 >filterText : string
 
 export type ShouldKeyDownEventCreateNewOptionHandler = (arg: { keyCode: number }) => boolean;
->ShouldKeyDownEventCreateNewOptionHandler : ShouldKeyDownEventCreateNewOptionHandler
+>ShouldKeyDownEventCreateNewOptionHandler : (arg: {    keyCode: number;}) => boolean
 >arg : { keyCode: number; }
 >keyCode : number
 
@@ -314,7 +314,7 @@ export interface Option<TValue = OptionValues> {
 }
 
 export type OptionValues = string | number | boolean;
->OptionValues : OptionValues
+>OptionValues : string | number | boolean
 
 export interface MenuRendererProps<TValue = OptionValues> {
     /**
diff --git a/tests/baselines/reference/jsxFragmentFactoryNoUnusedLocals.types b/tests/baselines/reference/jsxFragmentFactoryNoUnusedLocals.types
index a83aca50051ea..a2a388c0bfb7a 100644
--- a/tests/baselines/reference/jsxFragmentFactoryNoUnusedLocals.types
+++ b/tests/baselines/reference/jsxFragmentFactoryNoUnusedLocals.types
@@ -5,7 +5,7 @@ import { Fragment, createElement } from "react"
 >createElement : { (type: "input", props?: import("react").InputHTMLAttributes<HTMLInputElement> & import("react").ClassAttributes<HTMLInputElement>, ...children: import("react").ReactNode[]): import("react").DetailedReactHTMLElement<import("react").InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>; <P extends import("react").HTMLAttributes<T>, T extends HTMLElement>(type: keyof import("react").ReactHTML, props?: import("react").ClassAttributes<T> & P, ...children: import("react").ReactNode[]): import("react").DetailedReactHTMLElement<P, T>; <P extends import("react").SVGAttributes<T>, T extends SVGElement>(type: keyof import("react").ReactSVG, props?: import("react").ClassAttributes<T> & P, ...children: import("react").ReactNode[]): import("react").ReactSVGElement; <P extends import("react").DOMAttributes<T>, T extends Element>(type: string, props?: import("react").ClassAttributes<T> & P, ...children: import("react").ReactNode[]): import("react").DOMElement<P, T>; <P>(type: import("react").SFC<P>, props?: import("react").Attributes & P, ...children: import("react").ReactNode[]): import("react").SFCElement<P>; <P>(type: import("react").ClassType<P, import("react").ClassicComponent<P, any>, import("react").ClassicComponentClass<P>>, props?: import("react").ClassAttributes<import("react").ClassicComponent<P, any>> & P, ...children: import("react").ReactNode[]): import("react").CElement<P, import("react").ClassicComponent<P, any>>; <P, T extends import("react").Component<P, any, any>, C extends import("react").ComponentClass<P, any>>(type: import("react").ClassType<P, T, C>, props?: import("react").ClassAttributes<T> & P, ...children: import("react").ReactNode[]): import("react").CElement<P, T>; <P>(type: string | import("react").SFC<P> | import("react").ComponentClass<P, any>, props?: import("react").Attributes & P, ...children: import("react").ReactNode[]): import("react").ReactElement<P>; }
 
 type CounterProps = {
->CounterProps : CounterProps
+>CounterProps : { count?: number; }
 
     count?: number
 >count : number
diff --git a/tests/baselines/reference/jsxLibraryManagedAttributesUnusedGeneric.types b/tests/baselines/reference/jsxLibraryManagedAttributesUnusedGeneric.types
index 46f0e28a4b31a..8496f08aa4a52 100644
--- a/tests/baselines/reference/jsxLibraryManagedAttributesUnusedGeneric.types
+++ b/tests/baselines/reference/jsxLibraryManagedAttributesUnusedGeneric.types
@@ -18,7 +18,7 @@ namespace jsx {
         export interface IntrinsicAttributes {}
         export interface IntrinsicClassAttributes<T> {}
         export type IntrinsicElements = {
->IntrinsicElements : IntrinsicElements
+>IntrinsicElements : { div: {    className: string;}; }
 
             div: { className: string }
 >div : { className: string; }
diff --git a/tests/baselines/reference/jsxLocalNamespaceIndexSignatureNoCrash.types b/tests/baselines/reference/jsxLocalNamespaceIndexSignatureNoCrash.types
index f0841d84040c5..3d02da329b8b2 100644
--- a/tests/baselines/reference/jsxLocalNamespaceIndexSignatureNoCrash.types
+++ b/tests/baselines/reference/jsxLocalNamespaceIndexSignatureNoCrash.types
@@ -17,7 +17,7 @@ export class X {
 export namespace X {
     export namespace JSX {
         export type IntrinsicElements = {
->IntrinsicElements : IntrinsicElements
+>IntrinsicElements : { [other: string]: any; }
 
             [other: string]: any;
 >other : string
diff --git a/tests/baselines/reference/jsxNamespaceGlobalReexport.types b/tests/baselines/reference/jsxNamespaceGlobalReexport.types
index 85fc07e3497e3..12226ae9e13a1 100644
--- a/tests/baselines/reference/jsxNamespaceGlobalReexport.types
+++ b/tests/baselines/reference/jsxNamespaceGlobalReexport.types
@@ -51,16 +51,16 @@ export type ComponentType<T = {}> = {};
 >ComponentType : ComponentType<T>
 
 export type ComponentChild = {};
->ComponentChild : ComponentChild
+>ComponentChild : {}
 
 export type ComponentChildren = {};
->ComponentChildren : ComponentChildren
+>ComponentChildren : {}
 
 export type VNode<T = {}> = {};
 >VNode : VNode<T>
 
 export type Attributes = {};
->Attributes : Attributes
+>Attributes : {}
 
 export type Component<T = {}, U = {}> = {};
 >Component : Component<T, U>
diff --git a/tests/baselines/reference/jsxNamespaceGlobalReexportMissingAliasTarget.types b/tests/baselines/reference/jsxNamespaceGlobalReexportMissingAliasTarget.types
index 7cc6f7937322c..2e27ccbfa7433 100644
--- a/tests/baselines/reference/jsxNamespaceGlobalReexportMissingAliasTarget.types
+++ b/tests/baselines/reference/jsxNamespaceGlobalReexportMissingAliasTarget.types
@@ -51,16 +51,16 @@ export type ComponentType<T = {}> = {};
 >ComponentType : ComponentType<T>
 
 export type ComponentChild = {};
->ComponentChild : ComponentChild
+>ComponentChild : {}
 
 export type ComponentChildren = {};
->ComponentChildren : ComponentChildren
+>ComponentChildren : {}
 
 export type VNode<T = {}> = {};
 >VNode : VNode<T>
 
 export type Attributes = {};
->Attributes : Attributes
+>Attributes : {}
 
 export type Component<T = {}, U = {}> = {};
 >Component : Component<T, U>
diff --git a/tests/baselines/reference/jsxNamespaceImplicitImportJSXNamespace.types b/tests/baselines/reference/jsxNamespaceImplicitImportJSXNamespace.types
index 8869f10731bb5..a8d93e63512eb 100644
--- a/tests/baselines/reference/jsxNamespaceImplicitImportJSXNamespace.types
+++ b/tests/baselines/reference/jsxNamespaceImplicitImportJSXNamespace.types
@@ -51,16 +51,16 @@ export type ComponentType<T = {}> = {};
 >ComponentType : ComponentType<T>
 
 export type ComponentChild = {};
->ComponentChild : ComponentChild
+>ComponentChild : {}
 
 export type ComponentChildren = {};
->ComponentChildren : ComponentChildren
+>ComponentChildren : {}
 
 export type VNode<T = {}> = {};
 >VNode : VNode<T>
 
 export type Attributes = {};
->Attributes : Attributes
+>Attributes : {}
 
 export type Component<T = {}, U = {}> = {};
 >Component : Component<T, U>
diff --git a/tests/baselines/reference/jsxNamespaceImplicitImportJSXNamespaceFromConfigPickedOverGlobalOne(jsx=preserve).types b/tests/baselines/reference/jsxNamespaceImplicitImportJSXNamespaceFromConfigPickedOverGlobalOne(jsx=preserve).types
index 56cc97e6cea9a..1709e564272f9 100644
--- a/tests/baselines/reference/jsxNamespaceImplicitImportJSXNamespaceFromConfigPickedOverGlobalOne(jsx=preserve).types
+++ b/tests/baselines/reference/jsxNamespaceImplicitImportJSXNamespaceFromConfigPickedOverGlobalOne(jsx=preserve).types
@@ -92,7 +92,7 @@ export namespace EmotionJSX {
     extends ReactJSXIntrinsicClassAttributes<T> {}
 
   type IntrinsicElements = {
->IntrinsicElements : IntrinsicElements
+>IntrinsicElements : { div: { css?: string | undefined; }; }
 
     [K in keyof ReactJSXIntrinsicElements]: ReactJSXIntrinsicElements[K] & {
       css?: string
diff --git a/tests/baselines/reference/jsxNamespaceImplicitImportJSXNamespaceFromConfigPickedOverGlobalOne(jsx=react-jsx).types b/tests/baselines/reference/jsxNamespaceImplicitImportJSXNamespaceFromConfigPickedOverGlobalOne(jsx=react-jsx).types
index 56cc97e6cea9a..1709e564272f9 100644
--- a/tests/baselines/reference/jsxNamespaceImplicitImportJSXNamespaceFromConfigPickedOverGlobalOne(jsx=react-jsx).types
+++ b/tests/baselines/reference/jsxNamespaceImplicitImportJSXNamespaceFromConfigPickedOverGlobalOne(jsx=react-jsx).types
@@ -92,7 +92,7 @@ export namespace EmotionJSX {
     extends ReactJSXIntrinsicClassAttributes<T> {}
 
   type IntrinsicElements = {
->IntrinsicElements : IntrinsicElements
+>IntrinsicElements : { div: { css?: string | undefined; }; }
 
     [K in keyof ReactJSXIntrinsicElements]: ReactJSXIntrinsicElements[K] & {
       css?: string
diff --git a/tests/baselines/reference/jsxNamespaceImplicitImportJSXNamespaceFromPragmaPickedOverGlobalOne.types b/tests/baselines/reference/jsxNamespaceImplicitImportJSXNamespaceFromPragmaPickedOverGlobalOne.types
index eec34dc7517e7..e51abfb5825aa 100644
--- a/tests/baselines/reference/jsxNamespaceImplicitImportJSXNamespaceFromPragmaPickedOverGlobalOne.types
+++ b/tests/baselines/reference/jsxNamespaceImplicitImportJSXNamespaceFromPragmaPickedOverGlobalOne.types
@@ -92,7 +92,7 @@ export namespace EmotionJSX {
         extends ReactJSXIntrinsicClassAttributes<T> { }
 
     type IntrinsicElements = {
->IntrinsicElements : IntrinsicElements
+>IntrinsicElements : { div: { css?: string | undefined; }; }
 
         [K in keyof ReactJSXIntrinsicElements]: ReactJSXIntrinsicElements[K] & {
             css?: string
diff --git a/tests/baselines/reference/jsxSpreadFirstUnionNoErrors.types b/tests/baselines/reference/jsxSpreadFirstUnionNoErrors.types
index d1823d7997978..493526b9fc7d2 100644
--- a/tests/baselines/reference/jsxSpreadFirstUnionNoErrors.types
+++ b/tests/baselines/reference/jsxSpreadFirstUnionNoErrors.types
@@ -3,7 +3,7 @@ import React from "react";
 >React : typeof React
 
 type InfoProps =
->InfoProps : InfoProps
+>InfoProps : { status: "hidden"; } | { status: "visible"; content: string; }
 
 | { status: "hidden" }
 >status : "hidden"
diff --git a/tests/baselines/reference/keyRemappingKeyofResult.types b/tests/baselines/reference/keyRemappingKeyofResult.types
index 5d8aef034be42..c0a4ea4fefb82 100644
--- a/tests/baselines/reference/keyRemappingKeyofResult.types
+++ b/tests/baselines/reference/keyRemappingKeyofResult.types
@@ -6,19 +6,19 @@ const sym = Symbol("")
 >"" : ""
 
 type Orig = { [k: string]: any, str: any, [sym]: any }
->Orig : Orig
+>Orig : { [k: string]: any; str: any; [sym]: any; }
 >k : string
 >str : any
 >[sym] : any
 >sym : unique symbol
 
 type Okay = Exclude<keyof Orig, never>
->Okay : Okay
+>Okay : string | number | unique symbol
 
 // type Okay = string | number | typeof sym
 
 type Remapped = { [K in keyof Orig as {} extends Record<K, any> ? never : K]: any }
->Remapped : Remapped
+>Remapped : { str: any; [sym]: any; }
 
 /* type Remapped = {
     str: any;
@@ -27,7 +27,7 @@ type Remapped = { [K in keyof Orig as {} extends Record<K, any> ? never : K]: an
 // no string index signature, right?
 
 type Oops = Exclude<keyof Remapped, never>
->Oops : Oops
+>Oops : unique symbol | "str"
 
 declare let x: Oops;
 >x : Oops
diff --git a/tests/baselines/reference/keyofAndIndexedAccess.types b/tests/baselines/reference/keyofAndIndexedAccess.types
index 0c8af36f1ac79..fc4603b997ff7 100644
--- a/tests/baselines/reference/keyofAndIndexedAccess.types
+++ b/tests/baselines/reference/keyofAndIndexedAccess.types
@@ -125,7 +125,7 @@ type NAME = "name";
 >NAME : "name"
 
 type WIDTH_OR_HEIGHT = "width" | "height";
->WIDTH_OR_HEIGHT : WIDTH_OR_HEIGHT
+>WIDTH_OR_HEIGHT : "width" | "height"
 
 type Q10 = Shape["name"];  // string
 >Q10 : string
@@ -134,7 +134,7 @@ type Q11 = Shape["width" | "height"];  // number
 >Q11 : number
 
 type Q12 = Shape["name" | "visible"];  // string | boolean
->Q12 : Q12
+>Q12 : string | boolean
 
 type Q20 = Shape[NAME];  // string
 >Q20 : string
@@ -1196,7 +1196,7 @@ class C1 {
 }
 
 type S2 = {
->S2 : S2
+>S2 : { a: string; b: string; }
 
     a: string;
 >a : string
@@ -1448,7 +1448,7 @@ function path(obj: any, ...keys: (string | number)[]): any {
 }
 
 type Thing = {
->Thing : Thing
+>Thing : { a: {    x: number;    y: string;}; b: boolean; }
 
     a: { x: number, y: string },
 >a : { x: number; y: string; }
@@ -1646,7 +1646,7 @@ function f<K extends keyof R>(p: K) {
 // Repro from #12651
 
 type MethodDescriptor = {
->MethodDescriptor : MethodDescriptor
+>MethodDescriptor : { name: string; args: any[]; returnValue: any; }
 
 	name: string;
 >name : string
@@ -1664,7 +1664,7 @@ declare function dispatchMethod<M extends MethodDescriptor>(name: M['name'], arg
 >args : M["args"]
 
 type SomeMethodDescriptor = {
->SomeMethodDescriptor : SomeMethodDescriptor
+>SomeMethodDescriptor : { name: "someMethod"; args: [string, number]; returnValue: string[]; }
 
 	name: "someMethod";
 >name : "someMethod"
@@ -1688,7 +1688,7 @@ let result = dispatchMethod<SomeMethodDescriptor>("someMethod", ["hello", 35]);
 // Repro from #13073
 
 type KeyTypes = "a" | "b"
->KeyTypes : KeyTypes
+>KeyTypes : "a" | "b"
 
 let MyThingy: { [key in KeyTypes]: string[] };
 >MyThingy : { a: string[]; b: string[]; }
diff --git a/tests/baselines/reference/keyofAndIndexedAccess2.types b/tests/baselines/reference/keyofAndIndexedAccess2.types
index 9fa1ac46783bb..d82644efd53c4 100644
--- a/tests/baselines/reference/keyofAndIndexedAccess2.types
+++ b/tests/baselines/reference/keyofAndIndexedAccess2.types
@@ -228,7 +228,7 @@ function f4<K extends string>(a: { [key: string]: number }[K], b: number) {
 }
 
 type Item = { a: string, b: number };
->Item : Item
+>Item : { a: string; b: number; }
 >a : string
 >b : number
 
@@ -270,7 +270,7 @@ function f10<T extends Item, K extends keyof T>(obj: T, k1: string, k2: keyof It
 }
 
 type Dict = Record<string, number>;
->Dict : Dict
+>Dict : { [x: string]: number; }
 
 function f11<K extends keyof Dict>(obj: Dict, k1: keyof Dict, k2: K) {
 >f11 : <K extends string>(obj: Dict, k1: keyof Dict, k2: K) => void
diff --git a/tests/baselines/reference/keyofAndIndexedAccessErrors.types b/tests/baselines/reference/keyofAndIndexedAccessErrors.types
index 6fb2b69bfad91..ed449ab1e3ec4 100644
--- a/tests/baselines/reference/keyofAndIndexedAccessErrors.types
+++ b/tests/baselines/reference/keyofAndIndexedAccessErrors.types
@@ -421,7 +421,7 @@ type UndefinedKeys<T extends Record<string, any>> = {
 };
 
 type MyType = {a: string, b: string | undefined}
->MyType : MyType
+>MyType : { a: string; b: string | undefined; }
 >a : string
 >b : string
 
diff --git a/tests/baselines/reference/keyofDoesntContainSymbols.types b/tests/baselines/reference/keyofDoesntContainSymbols.types
index 00ccad59caa36..5971064fa36c5 100644
--- a/tests/baselines/reference/keyofDoesntContainSymbols.types
+++ b/tests/baselines/reference/keyofDoesntContainSymbols.types
@@ -85,6 +85,6 @@ type Values<T> = T[keyof T];
 >Values : Values<T>
 
 type ValuesOfObj = Values<typeof obj>;
->ValuesOfObj : ValuesOfObj
+>ValuesOfObj : string | number
 >obj : { num: number; str: string; 0: 0; [sym]: symbol; }
 
diff --git a/tests/baselines/reference/keyofIntersection.types b/tests/baselines/reference/keyofIntersection.types
index f6d636f6a2b4c..b667a08dbe9af 100644
--- a/tests/baselines/reference/keyofIntersection.types
+++ b/tests/baselines/reference/keyofIntersection.types
@@ -1,10 +1,10 @@
 === tests/cases/conformance/types/keyof/keyofIntersection.ts ===
 type A = { a: string };
->A : A
+>A : { a: string; }
 >a : string
 
 type B = { b: string };
->B : B
+>B : { b: string; }
 >b : string
 
 type T01 = keyof (A & B);  // "a" | "b"
@@ -20,13 +20,13 @@ type T04<T, U> = keyof (T & U);  // keyof T | keyof U
 >T04 : keyof T | keyof U
 
 type T05 = T02<A>;  // "a" | "b"
->T05 : T05
+>T05 : "b" | "a"
 
 type T06 = T03<B>;  // "a" | "b"
->T06 : T06
+>T06 : "b" | "a"
 
 type T07 = T04<A, B>;  // "a" | "b"
->T07 : T07
+>T07 : "b" | "a"
 
 // Repros from #22291
 
@@ -34,7 +34,7 @@ type Example1<T extends string, U extends string> = keyof (Record<T, any> & Reco
 >Example1 : T | U
 
 type Result1 = Example1<'x', 'y'>;  // "x" | "y"
->Result1 : Result1
+>Result1 : "x" | "y"
 
 type Result2 = keyof (Record<'x', any> & Record<'y', any>);  // "x" | "y"
 >Result2 : "x" | "y"
@@ -55,5 +55,5 @@ type Example5<T, U> = keyof (T & U);
 >Example5 : keyof T | keyof U
 
 type Result5 = Example5<Record<'x', any>, Record<'y', any>>;  // "x" | "y"
->Result5 : Result5
+>Result5 : "x" | "y"
 
diff --git a/tests/baselines/reference/lambdaParameterWithTupleArgsHasCorrectAssignability.types b/tests/baselines/reference/lambdaParameterWithTupleArgsHasCorrectAssignability.types
index 435bdc4c4cf93..539326ab1c791 100644
--- a/tests/baselines/reference/lambdaParameterWithTupleArgsHasCorrectAssignability.types
+++ b/tests/baselines/reference/lambdaParameterWithTupleArgsHasCorrectAssignability.types
@@ -1,9 +1,9 @@
 === tests/cases/compiler/lambdaParameterWithTupleArgsHasCorrectAssignability.ts ===
 type MyTupleItem = {};
->MyTupleItem : MyTupleItem
+>MyTupleItem : {}
 
 type MyTuple = [MyTupleItem, ...MyTupleItem[]];
->MyTuple : MyTuple
+>MyTuple : [MyTupleItem, ...MyTupleItem[]]
 
 type GenericFunction<T extends MyTuple> = (...fromArgs: T) => void;
 >GenericFunction : GenericFunction<T>
diff --git a/tests/baselines/reference/lateBoundConstraintTypeChecksCorrectly.types b/tests/baselines/reference/lateBoundConstraintTypeChecksCorrectly.types
index 6cde47ff0dc04..fa806eda9641c 100644
--- a/tests/baselines/reference/lateBoundConstraintTypeChecksCorrectly.types
+++ b/tests/baselines/reference/lateBoundConstraintTypeChecksCorrectly.types
@@ -6,7 +6,7 @@ declare const barProp: unique symbol;
 >barProp : unique symbol
 
 type BothProps = typeof fooProp | typeof barProp;
->BothProps : BothProps
+>BothProps : unique symbol | unique symbol
 >fooProp : unique symbol
 >barProp : unique symbol
 
diff --git a/tests/baselines/reference/literalTypeWidening.types b/tests/baselines/reference/literalTypeWidening.types
index 6ba61a8072605..f40f9d1229821 100644
--- a/tests/baselines/reference/literalTypeWidening.types
+++ b/tests/baselines/reference/literalTypeWidening.types
@@ -343,7 +343,7 @@ if (isSuccess(result)) {
 // Repro from #10898
 
 type TestEvent = "onmouseover" | "onmouseout";
->TestEvent : TestEvent
+>TestEvent : "onmouseover" | "onmouseout"
 
 function onMouseOver(): TestEvent { return "onmouseover"; }
 >onMouseOver : () => TestEvent
@@ -398,7 +398,7 @@ export function keys<K extends string, V>(obj: Record<K, V>): K[] {
 }
 
 type Obj = { code: LangCode }
->Obj : Obj
+>Obj : { code: LangCode; }
 >code : "fr" | "en" | "es" | "it" | "nl"
 
 const langCodeSet = Set('fr', 'en', 'es', 'it', 'nl')
diff --git a/tests/baselines/reference/literalTypes1.types b/tests/baselines/reference/literalTypes1.types
index f2f25599ae99e..3456663ab0483 100644
--- a/tests/baselines/reference/literalTypes1.types
+++ b/tests/baselines/reference/literalTypes1.types
@@ -78,7 +78,7 @@ function f2(x: 0 | 1 | 2) {
 }
 
 type Falsy = false | 0 | "" | null | undefined;
->Falsy : Falsy
+>Falsy : false | "" | 0 | null | undefined
 >false : false
 >null : null
 
diff --git a/tests/baselines/reference/literalTypes2.types b/tests/baselines/reference/literalTypes2.types
index 09d4cc3d2189e..6194083b77f74 100644
--- a/tests/baselines/reference/literalTypes2.types
+++ b/tests/baselines/reference/literalTypes2.types
@@ -756,7 +756,7 @@ function append<T>(a: T[], x: T): T[] {
 }
 
 type Bit = 0 | 1;
->Bit : Bit
+>Bit : 0 | 1
 
 let aa = makeArray<Bit>(0);
 >aa : Bit[]
diff --git a/tests/baselines/reference/localTypeParameterInferencePriority.types b/tests/baselines/reference/localTypeParameterInferencePriority.types
index 3297fc40a6f1f..9834da9c9d92a 100644
--- a/tests/baselines/reference/localTypeParameterInferencePriority.types
+++ b/tests/baselines/reference/localTypeParameterInferencePriority.types
@@ -7,7 +7,7 @@ export type UnrollOnHover<O extends object> = O extends object ?
 
 
 export type Schema = Record<string, unknown>;
->Schema : Schema
+>Schema : { [x: string]: unknown; }
 
 class Table<S extends Schema>  {
 >Table : Table<S>
diff --git a/tests/baselines/reference/mapOnTupleTypes02.types b/tests/baselines/reference/mapOnTupleTypes02.types
index 3f443a735cbe3..5e345f3ccf677 100644
--- a/tests/baselines/reference/mapOnTupleTypes02.types
+++ b/tests/baselines/reference/mapOnTupleTypes02.types
@@ -1,6 +1,6 @@
 === tests/cases/compiler/mapOnTupleTypes02.ts ===
 export type Point = [number, number];
->Point : Point
+>Point : [number, number]
 
 export function increment(point: Point) {
 >increment : (point: Point) => number[]
diff --git a/tests/baselines/reference/mappedTypeAsClauses.types b/tests/baselines/reference/mappedTypeAsClauses.types
index f77042a71e5c1..de951157933a3 100644
--- a/tests/baselines/reference/mappedTypeAsClauses.types
+++ b/tests/baselines/reference/mappedTypeAsClauses.types
@@ -5,7 +5,7 @@ type Getters<T> = { [P in keyof T & string as `get${Capitalize<P>}`]: () => T[P]
 >Getters : Getters<T>
 
 type TG1 = Getters<{ foo: string, bar: number, baz: { z: boolean } }>;
->TG1 : TG1
+>TG1 : { getFoo: () => string; getBar: () => number; getBaz: () => { z: boolean; }; }
 >foo : string
 >bar : number
 >baz : { z: boolean; }
@@ -22,7 +22,7 @@ type TypeFromDefs<T extends PropDef<keyof any, any>> = { [P in T as P['name']]:
 >TypeFromDefs : TypeFromDefs<T>
 
 type TP1 = TypeFromDefs<{ name: 'a', type: string } | { name: 'b', type: number } | { name: 'a', type: boolean }>;
->TP1 : TP1
+>TP1 : { a: string | boolean; b: number; }
 >name : "a"
 >type : string
 >name : "b"
@@ -33,10 +33,10 @@ type TP1 = TypeFromDefs<{ name: 'a', type: string } | { name: 'b', type: number
 // No array or tuple type mapping when 'as N' clause present
 
 type TA1 = Getters<string[]>;
->TA1 : TA1
+>TA1 : { getConcat: () => { (...items: ConcatArray<string>[]): string[]; (...items: (string | ConcatArray<string>)[]): string[]; }; getIndexOf: () => (searchElement: string, fromIndex?: number | undefined) => number; getLastIndexOf: () => (searchElement: string, fromIndex?: number | undefined) => number; getSlice: () => (start?: number | undefined, end?: number | undefined) => string[]; getLength: () => number; getToString: () => () => string; getToLocaleString: () => () => string; getPop: () => () => string | undefined; getPush: () => (...items: string[]) => number; getJoin: () => (separator?: string | undefined) => string; getReverse: () => () => string[]; getShift: () => () => string | undefined; getSort: () => (compareFn?: ((a: string, b: string) => number) | undefined) => string[]; getSplice: () => { (start: number, deleteCount?: number | undefined): string[]; (start: number, deleteCount: number, ...items: string[]): string[]; }; getUnshift: () => (...items: string[]) => number; getEvery: () => { <S extends string>(predicate: (value: string, index: number, array: string[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: string, index: number, array: string[]) => unknown, thisArg?: any): boolean; }; getSome: () => (predicate: (value: string, index: number, array: string[]) => unknown, thisArg?: any) => boolean; getForEach: () => (callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any) => void; getMap: () => <U>(callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]; getFilter: () => { <S extends string>(predicate: (value: string, index: number, array: string[]) => value is S, thisArg?: any): S[]; (predicate: (value: string, index: number, array: string[]) => unknown, thisArg?: any): string[]; }; getReduce: () => { (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string): string; (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string, initialValue: string): string; <U>(callbackfn: (previousValue: U, currentValue: string, currentIndex: number, array: string[]) => U, initialValue: U): U; }; getReduceRight: () => { (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string): string; (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string, initialValue: string): string; <U>(callbackfn: (previousValue: U, currentValue: string, currentIndex: number, array: string[]) => U, initialValue: U): U; }; }
 
 type TA2 = Getters<[number, boolean]>;
->TA2 : TA2
+>TA2 : { getConcat: () => { (...items: ConcatArray<number | boolean>[]): (number | boolean)[]; (...items: (number | boolean | ConcatArray<number | boolean>)[]): (number | boolean)[]; }; getIndexOf: () => (searchElement: number | boolean, fromIndex?: number | undefined) => number; getLastIndexOf: () => (searchElement: number | boolean, fromIndex?: number | undefined) => number; getSlice: () => (start?: number | undefined, end?: number | undefined) => (number | boolean)[]; getLength: () => 2; getToString: () => () => string; getToLocaleString: () => () => string; getPop: () => () => number | boolean | undefined; getPush: () => (...items: (number | boolean)[]) => number; getJoin: () => (separator?: string | undefined) => string; getReverse: () => () => (number | boolean)[]; getShift: () => () => number | boolean | undefined; getSort: () => (compareFn?: ((a: number | boolean, b: number | boolean) => number) | undefined) => [number, boolean]; getSplice: () => { (start: number, deleteCount?: number | undefined): (number | boolean)[]; (start: number, deleteCount: number, ...items: (number | boolean)[]): (number | boolean)[]; }; getUnshift: () => (...items: (number | boolean)[]) => number; getEvery: () => { <S extends number | boolean>(predicate: (value: number | boolean, index: number, array: (number | boolean)[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number | boolean, index: number, array: (number | boolean)[]) => unknown, thisArg?: any): boolean; }; getSome: () => (predicate: (value: number | boolean, index: number, array: (number | boolean)[]) => unknown, thisArg?: any) => boolean; getForEach: () => (callbackfn: (value: number | boolean, index: number, array: (number | boolean)[]) => void, thisArg?: any) => void; getMap: () => <U>(callbackfn: (value: number | boolean, index: number, array: (number | boolean)[]) => U, thisArg?: any) => U[]; getFilter: () => { <S extends number | boolean>(predicate: (value: number | boolean, index: number, array: (number | boolean)[]) => value is S, thisArg?: any): S[]; (predicate: (value: number | boolean, index: number, array: (number | boolean)[]) => unknown, thisArg?: any): (number | boolean)[]; }; getReduce: () => { (callbackfn: (previousValue: number | boolean, currentValue: number | boolean, currentIndex: number, array: (number | boolean)[]) => number | boolean): number | boolean; (callbackfn: (previousValue: number | boolean, currentValue: number | boolean, currentIndex: number, array: (number | boolean)[]) => number | boolean, initialValue: number | boolean): number | boolean; <U>(callbackfn: (previousValue: U, currentValue: number | boolean, currentIndex: number, array: (number | boolean)[]) => U, initialValue: U): U; }; getReduceRight: () => { (callbackfn: (previousValue: number | boolean, currentValue: number | boolean, currentIndex: number, array: (number | boolean)[]) => number | boolean): number | boolean; (callbackfn: (previousValue: number | boolean, currentValue: number | boolean, currentIndex: number, array: (number | boolean)[]) => number | boolean, initialValue: number | boolean): number | boolean; <U>(callbackfn: (previousValue: U, currentValue: number | boolean, currentIndex: number, array: (number | boolean)[]) => U, initialValue: U): U; }; get0: () => number; get1: () => boolean; }
 
 // Filtering using 'as N' clause
 
@@ -56,7 +56,7 @@ type DoubleProp<T> = { [P in keyof T & string as `${P}1` | `${P}2`]: T[P] }
 >DoubleProp : DoubleProp<T>
 
 type TD1 = DoubleProp<{ a: string, b: number }>;  // { a1: string, a2: string, b1: number, b2: number }
->TD1 : TD1
+>TD1 : { a1: string; a2: string; b1: number; b2: number; }
 >a : string
 >b : number
 
@@ -91,7 +91,7 @@ type LazyPerson = Lazyify<Person>;
 // Repro from #40833
 
 type Example = {foo: string, bar: number};
->Example : Example
+>Example : { foo: string; bar: number; }
 >foo : string
 >bar : number
 
@@ -153,7 +153,7 @@ interface Wheel {
 }
 
 type Primitive = string | number | boolean;
->Primitive : Primitive
+>Primitive : string | number | boolean
 
 type OnlyPrimitives<T> = { [K in keyof T as T[K] extends Primitive ? K : never]: T[K] };
 >OnlyPrimitives : OnlyPrimitives<T>
@@ -192,7 +192,7 @@ type GetObjWithIf<S, V> = { [TP in keyof S as If<Equal<S[TP], V>, TP, never>]: a
 >GetObjWithIf : GetObjWithIf<S, V>
 
 type Task = {
->Task : Task
+>Task : { isDone: boolean; }
 
   isDone: boolean;
 >isDone : boolean
@@ -200,7 +200,7 @@ type Task = {
 };
 
 type Schema = {
->Schema : Schema
+>Schema : { root: {    title: string;    task: Task;}; Task: Task; }
 
   root: {
 >root : { title: string; task: Task; }
@@ -252,7 +252,7 @@ f("a");  // Error, should allow only "b"
 >"a" : "a"
 
 type NameMap = { 'a': 'x', 'b': 'y', 'c': 'z' };
->NameMap : NameMap
+>NameMap : { a: 'x'; b: 'y'; c: 'z'; }
 >'a' : "x"
 >'b' : "y"
 >'c' : "z"
diff --git a/tests/baselines/reference/mappedTypeConstraints.types b/tests/baselines/reference/mappedTypeConstraints.types
index 86d62eb40c56c..86099d594d59f 100644
--- a/tests/baselines/reference/mappedTypeConstraints.types
+++ b/tests/baselines/reference/mappedTypeConstraints.types
@@ -81,7 +81,7 @@ function f4<T extends { a: string, b: string }>(obj: Record<Exclude<keyof T, 'b'
 // Repro from #28821
 
 type TargetProps = {
->TargetProps : TargetProps
+>TargetProps : { foo: string; bar: string; }
 
     foo: string,
 >foo : string
diff --git a/tests/baselines/reference/mappedTypeContextualTypesApplied.types b/tests/baselines/reference/mappedTypeContextualTypesApplied.types
index fc539785d1b0e..dde424dab5d7b 100644
--- a/tests/baselines/reference/mappedTypeContextualTypesApplied.types
+++ b/tests/baselines/reference/mappedTypeContextualTypesApplied.types
@@ -1,6 +1,6 @@
 === tests/cases/compiler/mappedTypeContextualTypesApplied.ts ===
 type TakeString = (s: string) => any;
->TakeString : TakeString
+>TakeString : (s: string) => any
 >s : string
 
 // Various functions accepting an object whose properties are TakeString functions.
diff --git a/tests/baselines/reference/mappedTypeErrors.types b/tests/baselines/reference/mappedTypeErrors.types
index 3f25f247d2e34..d7d683313aeb7 100644
--- a/tests/baselines/reference/mappedTypeErrors.types
+++ b/tests/baselines/reference/mappedTypeErrors.types
@@ -29,37 +29,37 @@ interface Point {
 // Constraint checking
 
 type T00 = { [P in P]: string };  // Error
->T00 : T00
+>T00 : { [x: string]: string; }
 
 type T01 = { [P in number]: string };  // Error
->T01 : T01
+>T01 : { [x: number]: string; }
 
 type T02 = { [P in Date]: number };  // Error
->T02 : T02
+>T02 : {}
 
 type T03 = Record<Date, number>;  // Error
->T03 : T03
+>T03 : {}
 
 type T10 = Pick<Shape, "name">;
->T10 : T10
+>T10 : { name: string; }
 
 type T11 = Pick<Shape, "foo">;  // Error
->T11 : T11
+>T11 : { foo: unknown; }
 
 type T12 = Pick<Shape, "name" | "foo">;  // Error
->T12 : T12
+>T12 : { name: string; foo: unknown; }
 
 type T13 = Pick<Shape, keyof Named>;
->T13 : T13
+>T13 : { name: string; }
 
 type T14 = Pick<Shape, keyof Point>;  // Error
->T14 : T14
+>T14 : { x: unknown; y: unknown; }
 
 type T15 = Pick<Shape, never>;
->T15 : T15
+>T15 : {}
 
 type T16 = Pick<Shape, undefined>;  // Error
->T16 : T16
+>T16 : {}
 
 function f1<T>(x: T) {
 >f1 : <T>(x: T) => void
@@ -434,7 +434,7 @@ c.setState({ c: true });  // Error
 >true : true
 
 type T2 = { a?: number, [key: string]: any };
->T2 : T2
+>T2 : { [key: string]: any; a?: number | undefined; }
 >a : number | undefined
 >key : string
 
@@ -469,7 +469,7 @@ type Foo2<T, F extends keyof T> = {
 
 };
 type O = {x: number, y: boolean};
->O : O
+>O : { x: number; y: boolean; }
 >x : number
 >y : boolean
 
diff --git a/tests/baselines/reference/mappedTypeErrors2.types b/tests/baselines/reference/mappedTypeErrors2.types
index 303cf31061ac9..91b38ae100948 100644
--- a/tests/baselines/reference/mappedTypeErrors2.types
+++ b/tests/baselines/reference/mappedTypeErrors2.types
@@ -2,7 +2,7 @@
 // Repros from #17238
 
 type AB = {
->AB : AB
+>AB : { a: 'a'; b: 'a'; }
 
     a: 'a'
 >a : "a"
@@ -23,7 +23,7 @@ type R = AB[keyof AB]; // "a"
 >R : "a"
 
 type T3 = { [key in R]: true };
->T3 : T3
+>T3 : { a: true; }
 >true : true
 
 type T4<K extends 'a'|'b'> = T3[K] // Error
diff --git a/tests/baselines/reference/mappedTypeIndexedAccess.types b/tests/baselines/reference/mappedTypeIndexedAccess.types
index c145f925bde48..57d446e6dcf1d 100644
--- a/tests/baselines/reference/mappedTypeIndexedAccess.types
+++ b/tests/baselines/reference/mappedTypeIndexedAccess.types
@@ -18,7 +18,7 @@ type Pair<T> = Pairs<T>[keyof T];
 >Pair : Pair<T>
 
 type FooBar = {
->FooBar : FooBar
+>FooBar : { foo: string; bar: number; }
 
     foo: string;
 >foo : string
diff --git a/tests/baselines/reference/mappedTypeInferenceCircularity.types b/tests/baselines/reference/mappedTypeInferenceCircularity.types
index 51f1f69f04cf1..591b4fa066052 100644
--- a/tests/baselines/reference/mappedTypeInferenceCircularity.types
+++ b/tests/baselines/reference/mappedTypeInferenceCircularity.types
@@ -2,7 +2,7 @@
 // Repro from #12511
 
 type HTML = { [K in 'div']: Block<HTML> };
->HTML : HTML
+>HTML : { div: Block<HTML>; }
 
 type Block<P> = <T>(func: HTML) => {};
 >Block : Block<P>
diff --git a/tests/baselines/reference/mappedTypeModifiers.types b/tests/baselines/reference/mappedTypeModifiers.types
index 317c3fd052412..dac3cc264120a 100644
--- a/tests/baselines/reference/mappedTypeModifiers.types
+++ b/tests/baselines/reference/mappedTypeModifiers.types
@@ -1,21 +1,21 @@
 === tests/cases/conformance/types/mapped/mappedTypeModifiers.ts ===
 type T = { a: number, b: string };
->T : T
+>T : { a: number; b: string; }
 >a : number
 >b : string
 
 type TP = { a?: number, b?: string };
->TP : TP
+>TP : { a?: number | undefined; b?: string | undefined; }
 >a : number | undefined
 >b : string | undefined
 
 type TR = { readonly a: number, readonly b: string };
->TR : TR
+>TR : { readonly a: number; readonly b: string; }
 >a : number
 >b : string
 
 type TPR = { readonly a?: number, readonly b?: string };
->TPR : TPR
+>TPR : { readonly a?: number | undefined; readonly b?: string | undefined; }
 >a : number | undefined
 >b : string | undefined
 
@@ -105,28 +105,28 @@ type Boxified<T> = { [P in keyof T]: { x: T[P] } };
 >x : T[P]
 
 type B = { a: { x: number }, b: { x: string } };
->B : B
+>B : { a: {    x: number;}; b: {    x: string;}; }
 >a : { x: number; }
 >x : number
 >b : { x: string; }
 >x : string
 
 type BP = { a?: { x: number }, b?: { x: string } };
->BP : BP
+>BP : { a?: { x: number; } | undefined; b?: { x: string; } | undefined; }
 >a : { x: number; } | undefined
 >x : number
 >b : { x: string; } | undefined
 >x : string
 
 type BR = { readonly a: { x: number }, readonly b: { x: string } };
->BR : BR
+>BR : { readonly a: {    x: number;}; readonly b: {    x: string;}; }
 >a : { x: number; }
 >x : number
 >b : { x: string; }
 >x : string
 
 type BPR = { readonly a?: { x: number }, readonly b?: { x: string } };
->BPR : BPR
+>BPR : { readonly a?: { x: number; } | undefined; readonly b?: { x: string; } | undefined; }
 >a : { x: number; } | undefined
 >x : number
 >b : { x: string; } | undefined
@@ -214,7 +214,7 @@ var b04: Pick<BPR, keyof BPR>;
 >b04 : BPR
 
 type Foo = { prop: number, [x: string]: number };
->Foo : Foo
+>Foo : { [x: string]: number; prop: number; }
 >prop : number
 >x : string
 
diff --git a/tests/baselines/reference/mappedTypeOverlappingStringEnumKeys.types b/tests/baselines/reference/mappedTypeOverlappingStringEnumKeys.types
index ae58d3f12ddc3..21db5f8a35b09 100644
--- a/tests/baselines/reference/mappedTypeOverlappingStringEnumKeys.types
+++ b/tests/baselines/reference/mappedTypeOverlappingStringEnumKeys.types
@@ -24,7 +24,7 @@ enum AlienAnimalTypes {
 };
 
 type AnimalTypes = TerrestrialAnimalTypes | AlienAnimalTypes;
->AnimalTypes : AnimalTypes
+>AnimalTypes : TerrestrialAnimalTypes | AlienAnimalTypes
 
 interface TerrestrialCat {
   type: TerrestrialAnimalTypes.CAT;
@@ -45,10 +45,10 @@ interface AlienCat {
 }
 
 type Cats = TerrestrialCat | AlienCat;
->Cats : Cats
+>Cats : TerrestrialCat | AlienCat
 
 type CatMap = {
->CatMap : CatMap
+>CatMap : { cat: (TerrestrialCat | AlienCat)[]; dog: never[]; }
 
   [V in AnimalTypes]: Extract<Cats, { type: V }>[]
 >type : V
diff --git a/tests/baselines/reference/mappedTypeProperties.types b/tests/baselines/reference/mappedTypeProperties.types
index bb40340eacb37..0a75c228660f3 100644
--- a/tests/baselines/reference/mappedTypeProperties.types
+++ b/tests/baselines/reference/mappedTypeProperties.types
@@ -1,9 +1,9 @@
 === tests/cases/conformance/types/mapped/mappedTypeProperties.ts ===
 export type PlaceType = 'openSky' | 'roofed' | 'garage'
->PlaceType : PlaceType
+>PlaceType : "openSky" | "roofed" | "garage"
 
 type Before = {
->Before : Before
+>Before : { model: 'hour' | 'day'; }
 
     model: 'hour' | 'day';
 >model : "hour" | "day"
@@ -16,7 +16,7 @@ type Before = {
 }
 
 type After = {
->After : After
+>After : { openSky: void; roofed: void; garage: void; }
 
     [placeType in PlaceType]: void;
     model: 'hour' | 'day'
@@ -24,14 +24,14 @@ type After = {
 }
 
 type AfterQuestion = {
->AfterQuestion : AfterQuestion
+>AfterQuestion : { openSky?: void; roofed?: void; garage?: void; }
 
     [placeType in PlaceType]?: void;
     model: 'hour' | 'day';
 >model : "hour" | "day"
 }
 type AfterMethod = {
->AfterMethod : AfterMethod
+>AfterMethod : { openSky?: void; roofed?: void; garage?: void; }
 
     [placeType in PlaceType]?: void;
     model(duration: number): 'hour' | 'day';
@@ -40,14 +40,14 @@ type AfterMethod = {
 }
 
 type AfterImplicit = {
->AfterImplicit : AfterImplicit
+>AfterImplicit : { openSky: any; roofed: any; garage: any; }
 
     [placeType in PlaceType]
     model: 'hour' | 'day';
 >model : "hour" | "day"
 }
 type AfterImplicitQ = {
->AfterImplicitQ : AfterImplicitQ
+>AfterImplicitQ : { openSky?: any; roofed?: any; garage?: any; }
 
     [placeType in PlaceType]?
     model: 'hour' | 'day'
diff --git a/tests/baselines/reference/mappedTypeRelationships.types b/tests/baselines/reference/mappedTypeRelationships.types
index f138f86e521f7..7d93248e8f021 100644
--- a/tests/baselines/reference/mappedTypeRelationships.types
+++ b/tests/baselines/reference/mappedTypeRelationships.types
@@ -322,7 +322,7 @@ function f23<T, U extends T, K extends keyof T>(x: T, y: Readonly<U>, k: K) {
 }
 
 type Thing = { a: string, b: string };
->Thing : Thing
+>Thing : { a: string; b: string; }
 >a : string
 >b : string
 
@@ -391,14 +391,14 @@ function f41<T extends Thing>(x: Readonly<Thing>, y: Readonly<T>) {
 }
 
 type Item = {
->Item : Item
+>Item : { name: string; }
 
     name: string;
 >name : string
 }
 
 type ItemMap = {
->ItemMap : ItemMap
+>ItemMap : { [x: string]: Item; }
 
     [x: string]: Item;
 >x : string
diff --git a/tests/baselines/reference/mappedTypeWithAny.types b/tests/baselines/reference/mappedTypeWithAny.types
index 773984fa576d6..983ea1acc7113 100644
--- a/tests/baselines/reference/mappedTypeWithAny.types
+++ b/tests/baselines/reference/mappedTypeWithAny.types
@@ -1,6 +1,6 @@
 === tests/cases/conformance/types/mapped/mappedTypeWithAny.ts ===
 type Item = { value: string };
->Item : Item
+>Item : { value: string; }
 >value : string
 
 type ItemMap<T> = { [P in keyof T]: Item };
@@ -24,7 +24,7 @@ declare let x4: ItemMap<any>;
 // Repro from #19152
 
 type Data = {
->Data : Data
+>Data : { value: string; }
 
   value: string;
 >value : string
diff --git a/tests/baselines/reference/mappedTypes1.types b/tests/baselines/reference/mappedTypes1.types
index 9c33653214b54..4dac0fa8c47b0 100644
--- a/tests/baselines/reference/mappedTypes1.types
+++ b/tests/baselines/reference/mappedTypes1.types
@@ -1,80 +1,80 @@
 === tests/cases/conformance/types/mapped/mappedTypes1.ts ===
 type Item = { a: string, b: number, c: boolean };
->Item : Item
+>Item : { a: string; b: number; c: boolean; }
 >a : string
 >b : number
 >c : boolean
 
 type T00 = { [P in "x" | "y"]: number };
->T00 : T00
+>T00 : { x: number; y: number; }
 
 type T01 = { [P in "x" | "y"]: P };
->T01 : T01
+>T01 : { x: "x"; y: "y"; }
 
 type T02 = { [P in "a" | "b"]: Item[P]; }
->T02 : T02
+>T02 : { a: string; b: number; }
 
 type T03 = { [P in keyof Item]: Date };
->T03 : T03
+>T03 : { a: Date; b: Date; c: Date; }
 
 type T10 = { [P in keyof Item]: Item[P] };
->T10 : T10
+>T10 : { a: string; b: number; c: boolean; }
 
 type T11 = { [P in keyof Item]?: Item[P] };
->T11 : T11
+>T11 : { a?: string | undefined; b?: number | undefined; c?: boolean | undefined; }
 
 type T12 = { readonly [P in keyof Item]: Item[P] };
->T12 : T12
+>T12 : { readonly a: string; readonly b: number; readonly c: boolean; }
 
 type T13 = { readonly [P in keyof Item]?: Item[P] };
->T13 : T13
+>T13 : { readonly a?: string | undefined; readonly b?: number | undefined; readonly c?: boolean | undefined; }
 
 type T20 = { [P in keyof Item]: Item[P] | null };
->T20 : T20
+>T20 : { a: string | null; b: number | null; c: boolean | null; }
 >null : null
 
 type T21 = { [P in keyof Item]: Array<Item[P]> };
->T21 : T21
+>T21 : { a: string[]; b: number[]; c: boolean[]; }
 
 type T30 = { [P in keyof any]: void };
->T30 : T30
+>T30 : { [x: string]: void; }
 
 type T31 = { [P in keyof string]: void };
->T31 : T31
+>T31 : { [x: number]: void; toString: void; charAt: void; charCodeAt: void; concat: void; indexOf: void; lastIndexOf: void; localeCompare: void; match: void; replace: void; search: void; slice: void; split: void; substring: void; toLowerCase: void; toLocaleLowerCase: void; toUpperCase: void; toLocaleUpperCase: void; trim: void; readonly length: void; substr: void; valueOf: void; }
 
 type T32 = { [P in keyof number]: void };
->T32 : T32
+>T32 : { toString: void; toFixed: void; toExponential: void; toPrecision: void; valueOf: void; toLocaleString: void; }
 
 type T33 = { [P in keyof boolean]: void };
->T33 : T33
+>T33 : { valueOf: void; }
 
 type T34 = { [P in keyof undefined]: void };
->T34 : T34
+>T34 : {}
 
 type T35 = { [P in keyof null]: void };
->T35 : T35
+>T35 : {}
 >null : null
 
 type T36 = { [P in keyof void]: void };
->T36 : T36
+>T36 : {}
 
 type T37 = { [P in keyof symbol]: void };
->T37 : T37
+>T37 : { toString: void; valueOf: void; }
 
 type T38 = { [P in keyof never]: void };
->T38 : T38
+>T38 : {}
 
 type T40 = { [P in string]: void };
->T40 : T40
+>T40 : { [x: string]: void; }
 
 type T43 = { [P in "a" | "b"]: void };
->T43 : T43
+>T43 : { a: void; b: void; }
 
 type T44 = { [P in "a" | "b" | "0" | "1"]: void };
->T44 : T44
+>T44 : { a: void; b: void; 0: void; 1: void; }
 
 type T47 = { [P in string | "a" | "b" | "0" | "1"]: void };
->T47 : T47
+>T47 : { [x: string]: void; }
 
 declare function f1<T1>(): { [P in keyof T1]: void };
 >f1 : <T1>() => { [P in keyof T1]: void; }
diff --git a/tests/baselines/reference/mappedTypes4.types b/tests/baselines/reference/mappedTypes4.types
index 7f7c36fc85c55..85e714a4f0043 100644
--- a/tests/baselines/reference/mappedTypes4.types
+++ b/tests/baselines/reference/mappedTypes4.types
@@ -49,15 +49,15 @@ function boxify<T>(obj: T): Boxified<T> {
 }
 
 type A = { a: string };
->A : A
+>A : { a: string; }
 >a : string
 
 type B = { b: string };
->B : B
+>B : { b: string; }
 >b : string
 
 type C = { c: string };
->C : C
+>C : { c: string; }
 >c : string
 
 function f1(x: A | B | C | undefined) {
@@ -71,25 +71,25 @@ function f1(x: A | B | C | undefined) {
 }
 
 type T00 = Partial<A | B | C>;
->T00 : T00
+>T00 : Partial<A> | Partial<B> | Partial<C>
 
 type T01 = Readonly<A | B | C | null | undefined>;
->T01 : T01
+>T01 : Readonly<A> | Readonly<B> | Readonly<C> | null | undefined
 >null : null
 
 type T02 = Boxified<A | B[] | C | string>
->T02 : T02
+>T02 : string | Boxified<A> | Boxified<C> | Box<B>[]
 
 type T03 = Readonly<string | number | boolean | null | undefined | void>;
->T03 : T03
+>T03 : string | number | boolean | void | null | undefined
 >null : null
 
 type T04 = Boxified<string | number | boolean | null | undefined | void>;
->T04 : T04
+>T04 : string | number | boolean | void | null | undefined
 >null : null
 
 type T05 = Partial<"hello" | "world" | 42>;
->T05 : T05
+>T05 : "hello" | "world" | 42
 
 type BoxifiedWithSentinel<T, U> = {
 >BoxifiedWithSentinel : BoxifiedWithSentinel<T, U>
@@ -98,11 +98,11 @@ type BoxifiedWithSentinel<T, U> = {
 }
 
 type T10 = BoxifiedWithSentinel<A | B | C, null>;
->T10 : T10
+>T10 : BoxifiedWithSentinel<A, null> | BoxifiedWithSentinel<B, null> | BoxifiedWithSentinel<C, null>
 >null : null
 
 type T11 = BoxifiedWithSentinel<A | B | C, undefined>;
->T11 : T11
+>T11 : BoxifiedWithSentinel<A, undefined> | BoxifiedWithSentinel<B, undefined> | BoxifiedWithSentinel<C, undefined>
 
 type T12 = BoxifiedWithSentinel<string, undefined>;
 >T12 : string
@@ -114,7 +114,7 @@ type DeepReadonly<T> = {
 };
 
 type Foo = {
->Foo : Foo
+>Foo : { x: number; y: {    a: string;    b: number;}; z: boolean; }
 
     x: number;
 >x : number
@@ -130,7 +130,7 @@ type Foo = {
 };
 
 type DeepReadonlyFoo = {
->DeepReadonlyFoo : DeepReadonlyFoo
+>DeepReadonlyFoo : { readonly x: number; readonly y: {    readonly a: string;    readonly b: number;}; readonly z: boolean; }
 
     readonly x: number;
 >x : number
@@ -154,7 +154,7 @@ var x1: DeepReadonlyFoo;
 // Repro from #13232
 
 type Z = { a: number };
->Z : Z
+>Z : { a: number; }
 >a : number
 
 type Clone<T> = {
diff --git a/tests/baselines/reference/mappedTypes5.types b/tests/baselines/reference/mappedTypes5.types
index 587f0b0e3ddd3..ba6b43f7a44bf 100644
--- a/tests/baselines/reference/mappedTypes5.types
+++ b/tests/baselines/reference/mappedTypes5.types
@@ -74,7 +74,7 @@ function f<T>(p: Partial<T>, r: Readonly<T>, pr: Partial<Readonly<T>>, rp: Reado
 // Repro from #17682
 
 type State = {
->State : State
+>State : { [key: string]: string | number | boolean | null; }
 
     [key: string]: string | boolean | number | null;
 >key : string
@@ -137,12 +137,12 @@ function doit<T extends State>() {
 }
 
 type State2 = { foo: number, bar: string };
->State2 : State2
+>State2 : { foo: number; bar: string; }
 >foo : number
 >bar : string
 
 type Args3 = {
->Args3 : Args3
+>Args3 : { readonly previous: Readonly<Partial<State2>>; readonly current: Readonly<Partial<State2>>; }
 
     readonly previous: Readonly<Partial<State2>>;
 >previous : Readonly<Partial<State2>>
@@ -153,7 +153,7 @@ type Args3 = {
 };
 
 type Args4 = {
->Args4 : Args4
+>Args4 : { readonly previous: Partial<Readonly<State2>>; readonly current: Partial<Readonly<State2>>; }
 
     readonly previous: Partial<Readonly<State2>>;
 >previous : Partial<Readonly<State2>>
diff --git a/tests/baselines/reference/mappedTypes6.types b/tests/baselines/reference/mappedTypes6.types
index 9c8d5e8a3d7fa..871f6867612bc 100644
--- a/tests/baselines/reference/mappedTypes6.types
+++ b/tests/baselines/reference/mappedTypes6.types
@@ -278,7 +278,7 @@ function f10<T>(x: Readonly<T>, y: T, z: Readwrite<T>) {
 }
 
 type Foo = {
->Foo : Foo
+>Foo : { a: number; b: number | undefined; c?: number | undefined; d?: number | undefined; }
 
     a: number;
 >a : number
@@ -420,7 +420,7 @@ x2 = { a: 1, b: 1, c: 1, d: 1 };
 >1 : 1
 
 type Bar = {
->Bar : Bar
+>Bar : { a: number; readonly b: number; }
 
     a: number;
 >a : number
diff --git a/tests/baselines/reference/mappedTypesArraysTuples.types b/tests/baselines/reference/mappedTypesArraysTuples.types
index 082890b009713..dbd83076d3b2a 100644
--- a/tests/baselines/reference/mappedTypesArraysTuples.types
+++ b/tests/baselines/reference/mappedTypesArraysTuples.types
@@ -58,15 +58,15 @@ type T31 = Partial<Boxified<string[]>>;
 >T31 : (Box<string> | undefined)[]
 
 type A = { a: string };
->A : A
+>A : { a: string; }
 >a : string
 
 type B = { b: string };
->B : B
+>B : { b: string; }
 >b : string
 
 type T40 = Boxified<A | A[] | ReadonlyArray<A> | [A, B] | string | string[]>;
->T40 : T40
+>T40 : string | Box<string>[] | Boxified<A> | readonly Box<A>[] | [Box<A>, Box<B>] | Box<A>[]
 
 type ReadWrite<T> = { -readonly [P in keyof T] : T[P] };
 >ReadWrite : ReadWrite<T>
diff --git a/tests/baselines/reference/mixinAccessModifiers.types b/tests/baselines/reference/mixinAccessModifiers.types
index 9b4cb432ab2e2..c104bfa23570b 100644
--- a/tests/baselines/reference/mixinAccessModifiers.types
+++ b/tests/baselines/reference/mixinAccessModifiers.types
@@ -1,6 +1,6 @@
 === tests/cases/conformance/classes/mixinAccessModifiers.ts ===
 type Constructable = new (...args: any[]) => object;
->Constructable : Constructable
+>Constructable : new (...args: any[]) => object
 >args : any[]
 
 class Private {
diff --git a/tests/baselines/reference/namedTupleMembers.types b/tests/baselines/reference/namedTupleMembers.types
index 100eeb0679e85..224c928c5f281 100644
--- a/tests/baselines/reference/namedTupleMembers.types
+++ b/tests/baselines/reference/namedTupleMembers.types
@@ -1,9 +1,9 @@
 === tests/cases/conformance/types/tuple/named/namedTupleMembers.ts ===
 export type Segment = [length: number, count: number];
->Segment : Segment
+>Segment : [length: number, count: number]
 
 export type SegmentAnnotated = [
->SegmentAnnotated : SegmentAnnotated
+>SegmentAnnotated : [length: number, count: number]
 
     /** 
      * Size of message buffer segment handles
@@ -88,7 +88,7 @@ d = c;
 >c : [number, number]
 
 export type WithOptAndRest = [first: number, second?: number, ...rest: string[]];
->WithOptAndRest : WithOptAndRest
+>WithOptAndRest : [first: number, second?: number, ...rest: string[]]
 
 export type Func<T extends any[]> = (...x: T) => void;
 >Func : Func<T>
@@ -112,7 +112,7 @@ export function useState<T>(initial: T): [value: T, setter: (T) => void] {
 
 
 export type Iter = Func<[step: number, iterations: number]>;
->Iter : Iter
+>Iter : (step: number, iterations: number) => void
 
 export function readSegment([length, count]: [number, number]) {}
 >readSegment : ([length, count]: [number, number]) => void
@@ -128,10 +128,10 @@ export const val = null as any as Parameters<typeof readSegment>[0];
 >readSegment : ([length, count]: [number, number]) => void
 
 export type RecursiveTupleA = [initial: string, next: RecursiveTupleA];
->RecursiveTupleA : RecursiveTupleA
+>RecursiveTupleA : [initial: string, next: RecursiveTupleA]
 
 export type RecursiveTupleB = [first: string, ptr: RecursiveTupleB];
->RecursiveTupleB : RecursiveTupleB
+>RecursiveTupleB : [first: string, ptr: RecursiveTupleB]
 
 declare var q: RecursiveTupleA;
 >q : RecursiveTupleA
@@ -150,10 +150,10 @@ r = q;
 >q : RecursiveTupleA
 
 export type RecusiveRest = [first: string, ...rest: RecusiveRest[]];
->RecusiveRest : RecusiveRest
+>RecusiveRest : [first: string, ...rest: RecusiveRest[]]
 
 export type RecusiveRest2 = [string, ...RecusiveRest2[]];
->RecusiveRest2 : RecusiveRest2
+>RecusiveRest2 : [string, ...RecusiveRest2[]]
 
 declare var x: RecusiveRest;
 >x : RecusiveRest
diff --git a/tests/baselines/reference/namedTupleMembersErrors.types b/tests/baselines/reference/namedTupleMembersErrors.types
index 0ae16d3b68353..a191b57a718dc 100644
--- a/tests/baselines/reference/namedTupleMembersErrors.types
+++ b/tests/baselines/reference/namedTupleMembersErrors.types
@@ -1,9 +1,9 @@
 === tests/cases/conformance/types/tuple/named/namedTupleMembersErrors.ts ===
 export type Segment1 = [length: number, number]; // partially named, disallowed
->Segment1 : Segment1
+>Segment1 : [number, number]
 
 export type Segment2 = [number, size: number]; // partially named, disallowed
->Segment2 : Segment2
+>Segment2 : [number, number]
 
 export type List = [item: any, ...any];  // partially named, disallowed
 >List : [any, ...any[]]
@@ -12,22 +12,22 @@ export type List2 = [any, ...remainder: any];  // partially named, disallowed
 >List2 : [any, ...any[]]
 
 export type Pair = [item: any, any?];  // partially named, disallowed
->Pair : Pair
+>Pair : [any, any?]
 
 export type Pair2 = [any, last?: any];  // partially named, disallowed
->Pair2 : Pair2
+>Pair2 : [any, any?]
 
 export type Opt = [element: string?]; // question mark on element disallowed
->Opt : Opt
+>Opt : [element: string]
 
 export type Trailing = [first: string, rest: ...string[]]; // dots on element disallowed
->Trailing : Trailing
+>Trailing : [first: string, rest: string]
 
 export type OptTrailing = [first: string, rest: ...string[]?]; // dots+question on element disallowed
->OptTrailing : OptTrailing
+>OptTrailing : [first: string, rest: string[]]
 
 export type OptRest = [first: string, ...rest?: string[]]; // rest+optional disallowed
->OptRest : OptRest
+>OptRest : [first: string, rest?: string]
 
 export type NonArrayRest = [first: string, ...rest: number]; // non-arraylike rest, disallowed
 >NonArrayRest : [first: string, ...rest: any[]]
diff --git a/tests/baselines/reference/namespaceDisambiguationInUnion.types b/tests/baselines/reference/namespaceDisambiguationInUnion.types
index a7852beebd22f..0c0761699ad12 100644
--- a/tests/baselines/reference/namespaceDisambiguationInUnion.types
+++ b/tests/baselines/reference/namespaceDisambiguationInUnion.types
@@ -1,13 +1,13 @@
 === tests/cases/compiler/namespaceDisambiguationInUnion.ts ===
 namespace Foo {
   export type Yep = { type: "foo.yep" };
->Yep : Yep
+>Yep : { type: "foo.yep"; }
 >type : "foo.yep"
 }
 
 namespace Bar {
   export type Yep = { type: "bar.yep" };
->Yep : Yep
+>Yep : { type: "bar.yep"; }
 >type : "bar.yep"
 }
 
diff --git a/tests/baselines/reference/namespaceMergedWithImportAliasNoCrash.types b/tests/baselines/reference/namespaceMergedWithImportAliasNoCrash.types
index 06f5ecaca0fd5..e470490a32f99 100644
--- a/tests/baselines/reference/namespaceMergedWithImportAliasNoCrash.types
+++ b/tests/baselines/reference/namespaceMergedWithImportAliasNoCrash.types
@@ -1,7 +1,7 @@
 === tests/cases/compiler/file1.ts ===
 export namespace Library {
     export type Bar = { a: number };
->Bar : Bar
+>Bar : { a: number; }
 >a : number
 }
 var x: Library.Bar; // should work
diff --git a/tests/baselines/reference/narrowTypeByInstanceof.types b/tests/baselines/reference/narrowTypeByInstanceof.types
index 65b706eea76cd..57427f90fa210 100644
--- a/tests/baselines/reference/narrowTypeByInstanceof.types
+++ b/tests/baselines/reference/narrowTypeByInstanceof.types
@@ -22,7 +22,7 @@
     }
 
 type FileMatchOrMatch = FileMatch | Match;
->FileMatchOrMatch : FileMatchOrMatch
+>FileMatchOrMatch : Match | FileMatch
 
 
 let elementA: FileMatchOrMatch, elementB: FileMatchOrMatch;
diff --git a/tests/baselines/reference/narrowingByDiscriminantInLoop.types b/tests/baselines/reference/narrowingByDiscriminantInLoop.types
index 34c68000850eb..db7a2a59e2532 100644
--- a/tests/baselines/reference/narrowingByDiscriminantInLoop.types
+++ b/tests/baselines/reference/narrowingByDiscriminantInLoop.types
@@ -2,7 +2,7 @@
 // Repro from #9977
 
 type IDLMemberTypes = OperationMemberType | ConstantMemberType;
->IDLMemberTypes : IDLMemberTypes
+>IDLMemberTypes : OperationMemberType | ConstantMemberType
 
 interface IDLTypeDescription {
     origin: string;
diff --git a/tests/baselines/reference/narrowingByTypeofInSwitch.types b/tests/baselines/reference/narrowingByTypeofInSwitch.types
index 2b028aad6bd16..96897cd71de20 100644
--- a/tests/baselines/reference/narrowingByTypeofInSwitch.types
+++ b/tests/baselines/reference/narrowingByTypeofInSwitch.types
@@ -97,7 +97,7 @@ function assertBooleanOrObject(x: boolean | object) {
 }
 
 type Basic = number | boolean | string | symbol | object | Function | undefined;
->Basic : Basic
+>Basic : string | number | boolean | symbol | object | Function | undefined
 
 function testUnion(x: Basic) {
 >testUnion : (x: Basic) => void
@@ -431,11 +431,11 @@ function testExtendsImplicitDefault<T extends Basic>(x: T) {
 }
 
 type L = (x: number) => string;
->L : L
+>L : (x: number) => string
 >x : number
 
 type R = { x: string, y: number }
->R : R
+>R : { x: string; y: number; }
 >x : string
 >y : number
 
diff --git a/tests/baselines/reference/narrowingDestructuring.types b/tests/baselines/reference/narrowingDestructuring.types
index a942e163da860..24ff38a297d56 100644
--- a/tests/baselines/reference/narrowingDestructuring.types
+++ b/tests/baselines/reference/narrowingDestructuring.types
@@ -1,6 +1,6 @@
 === tests/cases/compiler/narrowingDestructuring.ts ===
 type X = { kind: "a", a: string } | { kind: "b", b: string }
->X : X
+>X : { kind: "a"; a: string; } | { kind: "b"; b: string; }
 >kind : "a"
 >a : string
 >kind : "b"
@@ -39,7 +39,7 @@ function func<T extends X>(value: T) {
 }
 
 type Z = { kind: "f", f: { a: number, b: string, c: number } }
->Z : Z
+>Z : { kind: "f"; f: {    a: number;    b: string;    c: number;}; } | { kind: "g"; g: {    a: string;    b: number;    c: string;}; }
 >kind : "f"
 >f : { a: number; b: string; c: number; }
 >a : number
diff --git a/tests/baselines/reference/narrowingIntersection.types b/tests/baselines/reference/narrowingIntersection.types
index ba44c888c803b..c6f229e39698d 100644
--- a/tests/baselines/reference/narrowingIntersection.types
+++ b/tests/baselines/reference/narrowingIntersection.types
@@ -1,12 +1,12 @@
 === tests/cases/compiler/narrowingIntersection.ts ===
 // Somehow this being an intersection matters.
 type FooAndBaz = { foo: unknown } & { baz: unknown };
->FooAndBaz : FooAndBaz
+>FooAndBaz : { foo: unknown; } & { baz: unknown; }
 >foo : unknown
 >baz : unknown
 
 type Disjoint =
->Disjoint : Disjoint
+>Disjoint : { readonly value: string; readonly err?: never; } | { readonly value?: never; readonly err: FooAndBaz; }
 
  | { readonly value: string; readonly err?: never; }
 >value : string
@@ -38,7 +38,7 @@ function test1(result: Disjoint): string {
 }
 
 type TrivialIntersection = { a: 1 } & { a: 1 };
->TrivialIntersection : TrivialIntersection
+>TrivialIntersection : { a: 1; } & { a: 1; }
 >a : 1
 >a : 1
 
diff --git a/tests/baselines/reference/narrowingOfQualifiedNames.types b/tests/baselines/reference/narrowingOfQualifiedNames.types
index 59349ce8e18eb..d95620a6dda35 100644
--- a/tests/baselines/reference/narrowingOfQualifiedNames.types
+++ b/tests/baselines/reference/narrowingOfQualifiedNames.types
@@ -261,19 +261,19 @@ function init2(foo: DeepOptional) {
 // Repro from #48289
 
 type Fish = { type: 'fish', hasFins: true }
->Fish : Fish
+>Fish : { type: 'fish'; hasFins: true; }
 >type : "fish"
 >hasFins : true
 >true : true
 
 type Dog = { type: 'dog', saysWoof: true }
->Dog : Dog
+>Dog : { type: 'dog'; saysWoof: true; }
 >type : "dog"
 >saysWoof : true
 >true : true
 
 type Pet = Fish | Dog;
->Pet : Pet
+>Pet : Fish | Dog
 
 function handleDogBroken<PetType extends Pet>(pet: PetType) {
 >handleDogBroken : <PetType extends Pet>(pet: PetType) => void
diff --git a/tests/baselines/reference/narrowingTypeofFunction.types b/tests/baselines/reference/narrowingTypeofFunction.types
index 9342585ddd54e..6290fe95c3782 100644
--- a/tests/baselines/reference/narrowingTypeofFunction.types
+++ b/tests/baselines/reference/narrowingTypeofFunction.types
@@ -1,6 +1,6 @@
 === tests/cases/compiler/narrowingTypeofFunction.ts ===
 type Meta = { foo: string }
->Meta : Meta
+>Meta : { foo: string; }
 >foo : string
 
 interface F { (): string }
diff --git a/tests/baselines/reference/nearbyIdenticalGenericLambdasAssignable.types b/tests/baselines/reference/nearbyIdenticalGenericLambdasAssignable.types
index 74b907ee4adad..55fa9e45cdf51 100644
--- a/tests/baselines/reference/nearbyIdenticalGenericLambdasAssignable.types
+++ b/tests/baselines/reference/nearbyIdenticalGenericLambdasAssignable.types
@@ -41,7 +41,7 @@ type TC = typeof fC;
 >fC : <T>() => { v: T; }
 
 type TL = <T>() => { v: T }; 
->TL : TL
+>TL : <T>() => { v: T; }
 >v : T
 
 declare function accA(x: TA): void;
diff --git a/tests/baselines/reference/nestedRecursiveArraysOrObjectsError01.types b/tests/baselines/reference/nestedRecursiveArraysOrObjectsError01.types
index 8b5f5df29012d..26630884d1883 100644
--- a/tests/baselines/reference/nestedRecursiveArraysOrObjectsError01.types
+++ b/tests/baselines/reference/nestedRecursiveArraysOrObjectsError01.types
@@ -1,6 +1,6 @@
 === tests/cases/compiler/nestedRecursiveArraysOrObjectsError01.ts ===
 type Style = StyleBase | StyleArray;
->Style : Style
+>Style : StyleBase | StyleArray
 
 interface StyleArray extends Array<Style> {}
 interface StyleBase {
diff --git a/tests/baselines/reference/neverUnionIntersection.types b/tests/baselines/reference/neverUnionIntersection.types
index 4f578052e9c23..5d9085e72e60f 100644
--- a/tests/baselines/reference/neverUnionIntersection.types
+++ b/tests/baselines/reference/neverUnionIntersection.types
@@ -6,7 +6,7 @@ type T02 = string & never;
 >T02 : never
 
 type T03 = string | number | never;
->T03 : T03
+>T03 : string | number
 
 type T04 = string & number & never;
 >T04 : never
diff --git a/tests/baselines/reference/noAsConstNameLookup.types b/tests/baselines/reference/noAsConstNameLookup.types
index 42a06c8530fb2..c90c1e69055f8 100644
--- a/tests/baselines/reference/noAsConstNameLookup.types
+++ b/tests/baselines/reference/noAsConstNameLookup.types
@@ -2,11 +2,11 @@
 // Repros from #44292
 
 type Store = { a: 123 }
->Store : Store
+>Store : { a: 123; }
 >a : 123
 
 export type Cleaner = <W extends Store>(runner: FeatureRunner<W>) => Promise<any>
->Cleaner : Cleaner
+>Cleaner : <W extends Store>(runner: FeatureRunner<W>) => Promise<any>
 >runner : FeatureRunner<W>
 
 export class FeatureRunner<W extends Store> {
diff --git a/tests/baselines/reference/noCrashUMDMergedWithGlobalValue.types b/tests/baselines/reference/noCrashUMDMergedWithGlobalValue.types
index f01fad2560eee..b922f42aaa5a8 100644
--- a/tests/baselines/reference/noCrashUMDMergedWithGlobalValue.types
+++ b/tests/baselines/reference/noCrashUMDMergedWithGlobalValue.types
@@ -3,7 +3,7 @@ export as namespace SomeInterface;
 >SomeInterface : typeof import("/other")
 
 export type Action = "PUSH" | "POP" | "REPLACE";
->Action : Action
+>Action : "PUSH" | "POP" | "REPLACE"
 
 === /main.ts ===
 interface SomeInterface {
diff --git a/tests/baselines/reference/noErrorTruncation.types b/tests/baselines/reference/noErrorTruncation.types
index 53735c04db73d..e1a52900bc589 100644
--- a/tests/baselines/reference/noErrorTruncation.types
+++ b/tests/baselines/reference/noErrorTruncation.types
@@ -2,27 +2,27 @@
 // @noErrorTruncation
 
 type SomeLongOptionA = { someLongOptionA: string }
->SomeLongOptionA : SomeLongOptionA
+>SomeLongOptionA : { someLongOptionA: string; }
 >someLongOptionA : string
 
 type SomeLongOptionB = { someLongOptionB: string }
->SomeLongOptionB : SomeLongOptionB
+>SomeLongOptionB : { someLongOptionB: string; }
 >someLongOptionB : string
 
 type SomeLongOptionC = { someLongOptionC: string }
->SomeLongOptionC : SomeLongOptionC
+>SomeLongOptionC : { someLongOptionC: string; }
 >someLongOptionC : string
 
 type SomeLongOptionD = { someLongOptionD: string }
->SomeLongOptionD : SomeLongOptionD
+>SomeLongOptionD : { someLongOptionD: string; }
 >someLongOptionD : string
 
 type SomeLongOptionE = { someLongOptionE: string }
->SomeLongOptionE : SomeLongOptionE
+>SomeLongOptionE : { someLongOptionE: string; }
 >someLongOptionE : string
 
 type SomeLongOptionF = { someLongOptionF: string }
->SomeLongOptionF : SomeLongOptionF
+>SomeLongOptionF : { someLongOptionF: string; }
 >someLongOptionF : string
 
 const x: SomeLongOptionA
diff --git a/tests/baselines/reference/noImplicitAnyDestructuringInPrivateMethod.types b/tests/baselines/reference/noImplicitAnyDestructuringInPrivateMethod.types
index d2589cb1a46b7..4cf1662402c72 100644
--- a/tests/baselines/reference/noImplicitAnyDestructuringInPrivateMethod.types
+++ b/tests/baselines/reference/noImplicitAnyDestructuringInPrivateMethod.types
@@ -1,6 +1,6 @@
 === tests/cases/compiler/noImplicitAnyDestructuringInPrivateMethod.ts ===
 type Arg = {
->Arg : Arg
+>Arg : { a: number; }
 
     a: number;
 >a : number
diff --git a/tests/baselines/reference/noImplicitSymbolToString.types b/tests/baselines/reference/noImplicitSymbolToString.types
index 7111542c4a318..009361a565495 100644
--- a/tests/baselines/reference/noImplicitSymbolToString.types
+++ b/tests/baselines/reference/noImplicitSymbolToString.types
@@ -40,7 +40,7 @@ const templateStrUnion = `union with number ${symbolUnionNumber} and union with
 // Fix #44462
 
 type StringOrSymbol = string | symbol;
->StringOrSymbol : StringOrSymbol
+>StringOrSymbol : string | symbol
 
 function getKey<S extends StringOrSymbol>(key: S) {
 >getKey : <S extends StringOrSymbol>(key: S) => string
diff --git a/tests/baselines/reference/noMappedGetSet.types b/tests/baselines/reference/noMappedGetSet.types
index 1f46980e4b1eb..b22fe1cd742fb 100644
--- a/tests/baselines/reference/noMappedGetSet.types
+++ b/tests/baselines/reference/noMappedGetSet.types
@@ -1,6 +1,6 @@
 === tests/cases/compiler/noMappedGetSet.ts ===
 type OH_NO = {
->OH_NO : OH_NO
+>OH_NO : {}
 
     get [K in WAT](): string
 >[K in WAT] : string
diff --git a/tests/baselines/reference/noStrictGenericChecks.types b/tests/baselines/reference/noStrictGenericChecks.types
index a7e09f302b947..ec3a3b118ec5d 100644
--- a/tests/baselines/reference/noStrictGenericChecks.types
+++ b/tests/baselines/reference/noStrictGenericChecks.types
@@ -1,11 +1,11 @@
 === tests/cases/compiler/noStrictGenericChecks.ts ===
 type A = <T, U>(x: T, y: U) => [T, U];
->A : A
+>A : <T, U>(x: T, y: U) => [T, U]
 >x : T
 >y : U
 
 type B = <S>(x: S, y: S) => [S, S];
->B : B
+>B : <S>(x: S, y: S) => [S, S]
 >x : S
 >y : S
 
diff --git a/tests/baselines/reference/noUnusedLocals_selfReference.types b/tests/baselines/reference/noUnusedLocals_selfReference.types
index 6ef7930b4f07a..819ea0743d1c4 100644
--- a/tests/baselines/reference/noUnusedLocals_selfReference.types
+++ b/tests/baselines/reference/noUnusedLocals_selfReference.types
@@ -34,7 +34,7 @@ interface I { x: I };
 >x : I
 
 type T = { x: T };
->T : T
+>T : { x: T; }
 >x : T
 
 namespace N { N; }
diff --git a/tests/baselines/reference/nodeModulesImportTypeModeDeclarationEmit1(module=node12).types b/tests/baselines/reference/nodeModulesImportTypeModeDeclarationEmit1(module=node12).types
index 82a46bf9b274c..520761d1b0a01 100644
--- a/tests/baselines/reference/nodeModulesImportTypeModeDeclarationEmit1(module=node12).types
+++ b/tests/baselines/reference/nodeModulesImportTypeModeDeclarationEmit1(module=node12).types
@@ -1,6 +1,6 @@
 === /index.ts ===
 export type LocalInterface =
->LocalInterface : LocalInterface
+>LocalInterface : import("/node_modules/pkg/require").RequireInterface & import("/node_modules/pkg/import").ImportInterface
 
     & import("pkg", { assert: {"resolution-mode": "require"} }).RequireInterface
     & import("pkg", { assert: {"resolution-mode": "import"} }).ImportInterface;
diff --git a/tests/baselines/reference/nodeModulesImportTypeModeDeclarationEmit1(module=nodenext).types b/tests/baselines/reference/nodeModulesImportTypeModeDeclarationEmit1(module=nodenext).types
index 82a46bf9b274c..520761d1b0a01 100644
--- a/tests/baselines/reference/nodeModulesImportTypeModeDeclarationEmit1(module=nodenext).types
+++ b/tests/baselines/reference/nodeModulesImportTypeModeDeclarationEmit1(module=nodenext).types
@@ -1,6 +1,6 @@
 === /index.ts ===
 export type LocalInterface =
->LocalInterface : LocalInterface
+>LocalInterface : import("/node_modules/pkg/require").RequireInterface & import("/node_modules/pkg/import").ImportInterface
 
     & import("pkg", { assert: {"resolution-mode": "require"} }).RequireInterface
     & import("pkg", { assert: {"resolution-mode": "import"} }).ImportInterface;
diff --git a/tests/baselines/reference/nodeModulesImportTypeModeDeclarationEmitErrors1(module=node12).types b/tests/baselines/reference/nodeModulesImportTypeModeDeclarationEmitErrors1(module=node12).types
index 096b9fe9ee3c5..1b75c0fff241a 100644
--- a/tests/baselines/reference/nodeModulesImportTypeModeDeclarationEmitErrors1(module=node12).types
+++ b/tests/baselines/reference/nodeModulesImportTypeModeDeclarationEmitErrors1(module=node12).types
@@ -4,7 +4,7 @@ No type information for this code.=== /node_modules/pkg/require.d.ts ===
 export interface RequireInterface {}
 No type information for this code.=== /index.ts ===
 export type LocalInterface =
->LocalInterface : LocalInterface
+>LocalInterface : import("/node_modules/pkg/require").RequireInterface & import("/node_modules/pkg/import").ImportInterface
 
     & import("pkg", { assert: {"resolution-mode": "foobar"} }).RequireInterface
     & import("pkg", { assert: {"resolution-mode": "import"} }).ImportInterface;
@@ -128,12 +128,12 @@ export const b = (null as any as import("pkg", [ {"resolution-mode": "import"} ]
 === /other4.ts ===
 // Indirected assertion objecty-thing - not allowed
 type Asserts1 = { assert: {"resolution-mode": "require"} };
->Asserts1 : Asserts1
+>Asserts1 : { assert: {    "resolution-mode": "require";}; }
 >assert : { "resolution-mode": "require"; }
 >"resolution-mode" : "require"
 
 type Asserts2 = { assert: {"resolution-mode": "import"} };
->Asserts2 : Asserts2
+>Asserts2 : { assert: {    "resolution-mode": "import";}; }
 >assert : { "resolution-mode": "import"; }
 >"resolution-mode" : "import"
 
diff --git a/tests/baselines/reference/nodeModulesImportTypeModeDeclarationEmitErrors1(module=nodenext).types b/tests/baselines/reference/nodeModulesImportTypeModeDeclarationEmitErrors1(module=nodenext).types
index 096b9fe9ee3c5..1b75c0fff241a 100644
--- a/tests/baselines/reference/nodeModulesImportTypeModeDeclarationEmitErrors1(module=nodenext).types
+++ b/tests/baselines/reference/nodeModulesImportTypeModeDeclarationEmitErrors1(module=nodenext).types
@@ -4,7 +4,7 @@ No type information for this code.=== /node_modules/pkg/require.d.ts ===
 export interface RequireInterface {}
 No type information for this code.=== /index.ts ===
 export type LocalInterface =
->LocalInterface : LocalInterface
+>LocalInterface : import("/node_modules/pkg/require").RequireInterface & import("/node_modules/pkg/import").ImportInterface
 
     & import("pkg", { assert: {"resolution-mode": "foobar"} }).RequireInterface
     & import("pkg", { assert: {"resolution-mode": "import"} }).ImportInterface;
@@ -128,12 +128,12 @@ export const b = (null as any as import("pkg", [ {"resolution-mode": "import"} ]
 === /other4.ts ===
 // Indirected assertion objecty-thing - not allowed
 type Asserts1 = { assert: {"resolution-mode": "require"} };
->Asserts1 : Asserts1
+>Asserts1 : { assert: {    "resolution-mode": "require";}; }
 >assert : { "resolution-mode": "require"; }
 >"resolution-mode" : "require"
 
 type Asserts2 = { assert: {"resolution-mode": "import"} };
->Asserts2 : Asserts2
+>Asserts2 : { assert: {    "resolution-mode": "import";}; }
 >assert : { "resolution-mode": "import"; }
 >"resolution-mode" : "import"
 
diff --git a/tests/baselines/reference/nonGenericTypeReferenceWithTypeArguments.types b/tests/baselines/reference/nonGenericTypeReferenceWithTypeArguments.types
index 6b51828900195..13818f4c99cc3 100644
--- a/tests/baselines/reference/nonGenericTypeReferenceWithTypeArguments.types
+++ b/tests/baselines/reference/nonGenericTypeReferenceWithTypeArguments.types
@@ -9,7 +9,7 @@ enum E { }
 >E : E
 
 type T = { };
->T : T
+>T : {}
 
 var v1: C<string>;
 >v1 : any
diff --git a/tests/baselines/reference/nonNullReferenceMatching.types b/tests/baselines/reference/nonNullReferenceMatching.types
index 03ef70177c07f..04790d328aa05 100644
--- a/tests/baselines/reference/nonNullReferenceMatching.types
+++ b/tests/baselines/reference/nonNullReferenceMatching.types
@@ -1,18 +1,18 @@
 === tests/cases/compiler/nonNullReferenceMatching.ts ===
 type ElementRef = (element: HTMLElement | null) => void;
->ElementRef : ElementRef
+>ElementRef : (element: HTMLElement | null) => void
 >element : HTMLElement | null
 >null : null
 
 type ThumbProps = {
->ThumbProps : ThumbProps
+>ThumbProps : { elementRef?: ElementRef | undefined; }
 
     elementRef?: ElementRef;
 >elementRef : ElementRef | undefined
 }
 
 type ComponentProps = {
->ComponentProps : ComponentProps
+>ComponentProps : { thumbYProps?: ThumbProps | undefined; thumbXProps: ThumbProps; }
 
     thumbYProps?: ThumbProps;
 >thumbYProps : ThumbProps | undefined
diff --git a/tests/baselines/reference/numericEnumMappedType.types b/tests/baselines/reference/numericEnumMappedType.types
index bffec2ed8ca18..ca9d19890a512 100644
--- a/tests/baselines/reference/numericEnumMappedType.types
+++ b/tests/baselines/reference/numericEnumMappedType.types
@@ -14,10 +14,10 @@ declare enum E2 { ONE, TWO, THREE }
 >THREE : E2
 
 type Bins1 = { [k in E1]?: string; }
->Bins1 : Bins1
+>Bins1 : { 0?: string | undefined; 1?: string | undefined; 2?: string | undefined; }
 
 type Bins2 = { [k in E2]?: string; }
->Bins2 : Bins2
+>Bins2 : { [x: number]: string | undefined; }
 
 const b1: Bins1 = {};
 >b1 : Bins1
@@ -91,7 +91,7 @@ enum N2 { C = val(), D = val() }
 >val : () => number
 
 type T1 = { [K in N1 | N2]: K };
->T1 : T1
+>T1 : { [x: number]: N1 | N2; }
 
 // Enum types with string valued members are always literal enum types and therefore
 // ONE and TWO below are not computed members but rather just numerically valued members
diff --git a/tests/baselines/reference/numericLiteralTypes1.types b/tests/baselines/reference/numericLiteralTypes1.types
index 721265816bce7..92eed3cee2a6d 100644
--- a/tests/baselines/reference/numericLiteralTypes1.types
+++ b/tests/baselines/reference/numericLiteralTypes1.types
@@ -39,17 +39,17 @@ function f1() {
 }
 
 type B1 = -1 | 0 | 1;
->B1 : B1
+>B1 : 0 | 1 | -1
 >-1 : -1
 >1 : 1
 
 type B2 = 1 | 0 | -1;
->B2 : B2
+>B2 : 0 | 1 | -1
 >-1 : -1
 >1 : 1
 
 type B3 = 0 | -1 | 1;
->B3 : B3
+>B3 : 0 | 1 | -1
 >-1 : -1
 >1 : 1
 
@@ -260,7 +260,7 @@ function assertNever(x: never): never {
 }
 
 type Tag = 0 | 1 | 2;
->Tag : Tag
+>Tag : 0 | 1 | 2
 
 function f10(x: Tag) {
 >f10 : (x: Tag) => "a" | "b" | "c"
@@ -406,7 +406,7 @@ function f15(x: 0 | false, y: 1 | "one") {
 }
 
 type Item =
->Item : Item
+>Item : { kind: 0; a: string; } | { kind: 1; b: string; } | { kind: 2; c: string; }
 
     { kind: 0, a: string } |
 >kind : 0
diff --git a/tests/baselines/reference/numericLiteralTypes2.types b/tests/baselines/reference/numericLiteralTypes2.types
index 331fe0d43de6e..8842d63a26a61 100644
--- a/tests/baselines/reference/numericLiteralTypes2.types
+++ b/tests/baselines/reference/numericLiteralTypes2.types
@@ -39,17 +39,17 @@ function f1() {
 }
 
 type B1 = -1 | 0 | 1;
->B1 : B1
+>B1 : 0 | 1 | -1
 >-1 : -1
 >1 : 1
 
 type B2 = 1 | 0 | -1;
->B2 : B2
+>B2 : 0 | 1 | -1
 >-1 : -1
 >1 : 1
 
 type B3 = 0 | -1 | 1;
->B3 : B3
+>B3 : 0 | 1 | -1
 >-1 : -1
 >1 : 1
 
@@ -260,7 +260,7 @@ function assertNever(x: never): never {
 }
 
 type Tag = 0 | 1 | 2;
->Tag : Tag
+>Tag : 0 | 1 | 2
 
 function f10(x: Tag) {
 >f10 : (x: Tag) => "a" | "b" | "c"
@@ -406,7 +406,7 @@ function f15(x: 0 | false, y: 1 | "one") {
 }
 
 type Item =
->Item : Item
+>Item : { kind: 0; a: string; } | { kind: 1; b: string; } | { kind: 2; c: string; }
 
     { kind: 0, a: string } |
 >kind : 0
diff --git a/tests/baselines/reference/numericLiteralTypes3.types b/tests/baselines/reference/numericLiteralTypes3.types
index cf545192a27b9..ed2f8dfce077a 100644
--- a/tests/baselines/reference/numericLiteralTypes3.types
+++ b/tests/baselines/reference/numericLiteralTypes3.types
@@ -3,13 +3,13 @@ type A = 1;
 >A : 1
 
 type B = 2 | 3;
->B : B
+>B : 2 | 3
 
 type C = 1 | 2 | 3;
->C : C
+>C : 2 | 3 | 1
 
 type D = 0 | 1 | 2;
->D : D
+>D : 0 | 2 | 1
 
 function f1(a: A, b: B, c: C, d: D) {
 >f1 : (a: A, b: B, c: C, d: D) => void
diff --git a/tests/baselines/reference/objectInstantiationFromUnionSpread.types b/tests/baselines/reference/objectInstantiationFromUnionSpread.types
index 3061622551c3f..d9b83cdad64ea 100644
--- a/tests/baselines/reference/objectInstantiationFromUnionSpread.types
+++ b/tests/baselines/reference/objectInstantiationFromUnionSpread.types
@@ -14,7 +14,7 @@ interface Fail {
 }
 
 type Item = Success | Fail;
->Item : Item
+>Item : Success | Fail
 
 function f1(a: Item[]) {
 >f1 : (a: Item[]) => void
diff --git a/tests/baselines/reference/objectLiteralEnumPropertyNames.types b/tests/baselines/reference/objectLiteralEnumPropertyNames.types
index f3efed1488468..785b9cdbc0c11 100644
--- a/tests/baselines/reference/objectLiteralEnumPropertyNames.types
+++ b/tests/baselines/reference/objectLiteralEnumPropertyNames.types
@@ -12,7 +12,7 @@ enum Strs {
 >'b' : "b"
 }
 type TestStrs = { [key in Strs]: string }
->TestStrs : TestStrs
+>TestStrs : { a: string; b: string; }
 
 const x: TestStrs = {
 >x : TestStrs
@@ -111,7 +111,7 @@ enum Nums {
 >B : Nums.B
 }
 type TestNums = { 0: number, 1: number }
->TestNums : TestNums
+>TestNums : { 0: number; 1: number; }
 >0 : number
 >1 : number
 
diff --git a/tests/baselines/reference/objectRestReadonly.types b/tests/baselines/reference/objectRestReadonly.types
index 5f015aeb1e5f5..12fbb268326bb 100644
--- a/tests/baselines/reference/objectRestReadonly.types
+++ b/tests/baselines/reference/objectRestReadonly.types
@@ -1,7 +1,7 @@
 === tests/cases/conformance/types/rest/objectRestReadonly.ts ===
 // #23734
 type ObjType = {
->ObjType : ObjType
+>ObjType : { foo: string; baz: string; quux: string; }
 
   foo: string
 >foo : string
diff --git a/tests/baselines/reference/objectSpread.types b/tests/baselines/reference/objectSpread.types
index 7fd7675d1d73d..6f81f24c40d9e 100644
--- a/tests/baselines/reference/objectSpread.types
+++ b/tests/baselines/reference/objectSpread.types
@@ -168,7 +168,7 @@ let spreadFunc = { ...(function () { }) };
 >function () { } : () => void
 
 type Header = { head: string, body: string, authToken: string }
->Header : Header
+>Header : { head: string; body: string; authToken: string; }
 >head : string
 >body : string
 >authToken : string
diff --git a/tests/baselines/reference/objectSpreadStrictNull.types b/tests/baselines/reference/objectSpreadStrictNull.types
index 05e50a2145861..fb433b4b1abfa 100644
--- a/tests/baselines/reference/objectSpreadStrictNull.types
+++ b/tests/baselines/reference/objectSpreadStrictNull.types
@@ -86,7 +86,7 @@ function f(
 }
 
 type Movie = {
->Movie : Movie
+>Movie : { title: string; yearReleased: number; }
 
     title: string;
 >title : string
diff --git a/tests/baselines/reference/objectTypeWithStringAndNumberIndexSignatureToAny.types b/tests/baselines/reference/objectTypeWithStringAndNumberIndexSignatureToAny.types
index 5c2efdc2bc007..144f552bca3aa 100644
--- a/tests/baselines/reference/objectTypeWithStringAndNumberIndexSignatureToAny.types
+++ b/tests/baselines/reference/objectTypeWithStringAndNumberIndexSignatureToAny.types
@@ -176,7 +176,7 @@ function f2(sToAny: StringTo<any>, nToAny: NumberTo<any>, bothToAny: StringTo<an
 }
 
 type NumberToNumber = NumberTo<number>;
->NumberToNumber : NumberToNumber
+>NumberToNumber : NumberTo<number>
 
 interface StringToAnyNumberToNumber extends StringTo<any>, NumberToNumber {
 }
diff --git a/tests/baselines/reference/omitTypeHelperModifiers01.types b/tests/baselines/reference/omitTypeHelperModifiers01.types
index b1962065e4b8c..e956f06352f64 100644
--- a/tests/baselines/reference/omitTypeHelperModifiers01.types
+++ b/tests/baselines/reference/omitTypeHelperModifiers01.types
@@ -1,6 +1,6 @@
 === tests/cases/compiler/omitTypeHelperModifiers01.ts ===
 type A = {
->A : A
+>A : { a: number; b?: string | undefined; readonly c: boolean; d: unknown; }
 
     a: number;
 >a : number
@@ -17,7 +17,7 @@ type A = {
 };
 
 type B = Omit<A, 'a'>;
->B : B
+>B : { b?: string | undefined; readonly c: boolean; d: unknown; }
 
 function f(x: B) {
 >f : (x: B) => void
diff --git a/tests/baselines/reference/omitTypeTestErrors01.types b/tests/baselines/reference/omitTypeTestErrors01.types
index b6758505eff96..f341e33cc0640 100644
--- a/tests/baselines/reference/omitTypeTestErrors01.types
+++ b/tests/baselines/reference/omitTypeTestErrors01.types
@@ -11,10 +11,10 @@ interface Foo {
 }
 
 export type Bar = Omit<Foo, "c">;
->Bar : Bar
+>Bar : { a: string; b: number; }
 
 export type Baz = Omit<Foo, "b" | "c">;
->Baz : Baz
+>Baz : { a: string; }
 
 export function getBarC(bar: Bar) {
 >getBarC : (bar: Bar) => any
diff --git a/tests/baselines/reference/omitTypeTests01.types b/tests/baselines/reference/omitTypeTests01.types
index 10feea46871c3..6a270844af5b5 100644
--- a/tests/baselines/reference/omitTypeTests01.types
+++ b/tests/baselines/reference/omitTypeTests01.types
@@ -11,10 +11,10 @@ interface Foo {
 }
 
 export type Bar = Omit<Foo, "c">;
->Bar : Bar
+>Bar : { a: string; b: number; }
 
 export type Baz = Omit<Foo, "b" | "c">;
->Baz : Baz
+>Baz : { a: string; }
 
 export function getBarA(bar: Bar) {
 >getBarA : (bar: Bar) => string
diff --git a/tests/baselines/reference/operatorsAndIntersectionTypes.types b/tests/baselines/reference/operatorsAndIntersectionTypes.types
index 5e5765d66f7ce..4be6d56e137c8 100644
--- a/tests/baselines/reference/operatorsAndIntersectionTypes.types
+++ b/tests/baselines/reference/operatorsAndIntersectionTypes.types
@@ -1,10 +1,10 @@
 === tests/cases/conformance/types/intersection/operatorsAndIntersectionTypes.ts ===
 type Guid = string & { $Guid };          // Tagged string type
->Guid : Guid
+>Guid : string & { $Guid: any; }
 >$Guid : any
 
 type SerialNo = number & { $SerialNo };  // Tagged number type
->SerialNo : SerialNo
+>SerialNo : number & { $SerialNo: any; }
 >$SerialNo : any
 
 function createGuid() {
diff --git a/tests/baselines/reference/optionalTupleElements1.types b/tests/baselines/reference/optionalTupleElements1.types
index b784bf72e5843..9b811bfe3a554 100644
--- a/tests/baselines/reference/optionalTupleElements1.types
+++ b/tests/baselines/reference/optionalTupleElements1.types
@@ -1,15 +1,15 @@
 === tests/cases/conformance/types/tuple/optionalTupleElements1.ts ===
 type T1 = [number, string, boolean];
->T1 : T1
+>T1 : [number, string, boolean]
 
 type T2 = [number, string, boolean?];
->T2 : T2
+>T2 : [number, string, (boolean | undefined)?]
 
 type T3 = [number, string?, boolean?];
->T3 : T3
+>T3 : [number, (string | undefined)?, (boolean | undefined)?]
 
 type T4 = [number?, string?, boolean?];
->T4 : T4
+>T4 : [(number | undefined)?, (string | undefined)?, (boolean | undefined)?]
 
 type L1 = T1["length"];
 >L1 : 3
@@ -24,7 +24,7 @@ type L4 = T4["length"];
 >L4 : 0 | 3 | 2 | 1
 
 type T5 = [number, string?, boolean];  // Error
->T5 : T5
+>T5 : [number, (string | undefined)?, boolean]
 
 function f1(t1: T1, t2: T2, t3: T3, t4: T4) {
 >f1 : (t1: T1, t2: T2, t3: T3, t4: T4) => void
diff --git a/tests/baselines/reference/override19.types b/tests/baselines/reference/override19.types
index 6bf2567393d79..9868b696cb7d9 100644
--- a/tests/baselines/reference/override19.types
+++ b/tests/baselines/reference/override19.types
@@ -1,6 +1,6 @@
 === tests/cases/conformance/override/override19.ts ===
 type Foo = abstract new(...args: any) => any;
->Foo : Foo
+>Foo : abstract new (...args: any) => any
 >args : any
 
 declare function CreateMixin<C extends Foo, T extends Foo>(Context: C, Base: T): T & {
diff --git a/tests/baselines/reference/parenthesizedContexualTyping1.types b/tests/baselines/reference/parenthesizedContexualTyping1.types
index 30c8dab626240..95f8a42f51fd0 100644
--- a/tests/baselines/reference/parenthesizedContexualTyping1.types
+++ b/tests/baselines/reference/parenthesizedContexualTyping1.types
@@ -240,7 +240,7 @@ var lambda2: (x: number) => number = (x => x);
 >x : number
 
 type ObjType = { x: (p: number) => string; y: (p: string) => number };
->ObjType : ObjType
+>ObjType : { x: (p: number) => string; y: (p: string) => number; }
 >x : (p: number) => string
 >p : number
 >y : (p: string) => number
diff --git a/tests/baselines/reference/parenthesizedContexualTyping2.types b/tests/baselines/reference/parenthesizedContexualTyping2.types
index d8927c336d09d..96f41e54af74b 100644
--- a/tests/baselines/reference/parenthesizedContexualTyping2.types
+++ b/tests/baselines/reference/parenthesizedContexualTyping2.types
@@ -6,7 +6,7 @@
 // back if contextual typing is not taking effect.
 
 type FuncType = (x: <T>(p: T) => T) => typeof x;
->FuncType : FuncType
+>FuncType : (x: <T>(p: T) => T) => <T>(p: T) => T
 >x : <T>(p: T) => T
 >p : T
 >x : <T>(p: T) => T
@@ -303,7 +303,7 @@ var lambda2: FuncType = (x => { x<number>(undefined); return x; });
 >x : <T>(p: T) => T
 
 type ObjType = { x: (p: number) => string; y: (p: string) => number };
->ObjType : ObjType
+>ObjType : { x: (p: number) => string; y: (p: string) => number; }
 >x : (p: number) => string
 >p : number
 >y : (p: string) => number
diff --git a/tests/baselines/reference/parseErrorIncorrectReturnToken.types b/tests/baselines/reference/parseErrorIncorrectReturnToken.types
index 90734ed68ced5..d29fc4ae6cfd6 100644
--- a/tests/baselines/reference/parseErrorIncorrectReturnToken.types
+++ b/tests/baselines/reference/parseErrorIncorrectReturnToken.types
@@ -1,12 +1,12 @@
 === tests/cases/compiler/parseErrorIncorrectReturnToken.ts ===
 type F1 = {
->F1 : F1
+>F1 : (n: number) => string
 
     (n: number) => string; // should be : not =>
 >n : number
 }
 type F2 = (n: number): string; // should be => not :
->F2 : F2
+>F2 : (n: number) => any
 >n : number
 >string : any
 
diff --git a/tests/baselines/reference/partialDiscriminatedUnionMemberHasGoodError.types b/tests/baselines/reference/partialDiscriminatedUnionMemberHasGoodError.types
index 5b1277374e464..466ed724fea32 100644
--- a/tests/baselines/reference/partialDiscriminatedUnionMemberHasGoodError.types
+++ b/tests/baselines/reference/partialDiscriminatedUnionMemberHasGoodError.types
@@ -16,7 +16,7 @@ interface TypeB {
 }
 
 type ValidType = TypeA | TypeB;
->ValidType : ValidType
+>ValidType : TypeA | TypeB
 
 interface Wrapper {
     types: ValidType[];
diff --git a/tests/baselines/reference/partialTypeNarrowedToByTypeGuard.types b/tests/baselines/reference/partialTypeNarrowedToByTypeGuard.types
index bbf8f96904b8a..eeea96cc13722 100644
--- a/tests/baselines/reference/partialTypeNarrowedToByTypeGuard.types
+++ b/tests/baselines/reference/partialTypeNarrowedToByTypeGuard.types
@@ -1,9 +1,9 @@
 === tests/cases/compiler/partialTypeNarrowedToByTypeGuard.ts ===
 type Obj = {} | undefined;
->Obj : Obj
+>Obj : {} | undefined
 
 type User = {
->User : User
+>User : { email: string; name: string; }
 
     email: string;
 >email : string
diff --git a/tests/baselines/reference/partiallyDiscriminantedUnions.types b/tests/baselines/reference/partiallyDiscriminantedUnions.types
index f1d44249c0eb2..bc2ee1bf23586 100644
--- a/tests/baselines/reference/partiallyDiscriminantedUnions.types
+++ b/tests/baselines/reference/partiallyDiscriminantedUnions.types
@@ -26,7 +26,7 @@ interface B {
 }
 
 type AB = A1 | A2 | B;
->AB : AB
+>AB : A1 | A2 | B
 
 const ab: AB = <AB>{};
 >ab : AB
@@ -65,10 +65,10 @@ class Circle { kind: "circle"; }
 >kind : "circle"
 
 type Shape = Circle | Square;
->Shape : Shape
+>Shape : Square | Circle
 
 type Shapes = Shape | Array<Shape>;
->Shapes : Shapes
+>Shapes : Shape | Shape[]
 
 function isShape(s : Shapes): s is Shape {
 >isShape : (s: Shapes) => s is Shape
diff --git a/tests/baselines/reference/preserveUnusedImports.types b/tests/baselines/reference/preserveUnusedImports.types
index e4e32ebb27ebb..83816ebf24600 100644
--- a/tests/baselines/reference/preserveUnusedImports.types
+++ b/tests/baselines/reference/preserveUnusedImports.types
@@ -1,6 +1,6 @@
 === tests/cases/compiler/a.ts ===
 export type A = {};
->A : A
+>A : {}
 
 === tests/cases/compiler/b.ts ===
 export class B {}
diff --git a/tests/baselines/reference/preserveValueImports_errors(isolatedmodules=false).types b/tests/baselines/reference/preserveValueImports_errors(isolatedmodules=false).types
index 1e8a912ed7ced..15803ab5c919f 100644
--- a/tests/baselines/reference/preserveValueImports_errors(isolatedmodules=false).types
+++ b/tests/baselines/reference/preserveValueImports_errors(isolatedmodules=false).types
@@ -1,6 +1,6 @@
 === tests/cases/conformance/externalModules/typeOnly/a.ts ===
 export type A = {};
->A : A
+>A : {}
 
 export type { A as default };
 >A : any
diff --git a/tests/baselines/reference/preserveValueImports_errors(isolatedmodules=true).types b/tests/baselines/reference/preserveValueImports_errors(isolatedmodules=true).types
index 1e8a912ed7ced..15803ab5c919f 100644
--- a/tests/baselines/reference/preserveValueImports_errors(isolatedmodules=true).types
+++ b/tests/baselines/reference/preserveValueImports_errors(isolatedmodules=true).types
@@ -1,6 +1,6 @@
 === tests/cases/conformance/externalModules/typeOnly/a.ts ===
 export type A = {};
->A : A
+>A : {}
 
 export type { A as default };
 >A : any
diff --git a/tests/baselines/reference/primitiveUnionDetection.types b/tests/baselines/reference/primitiveUnionDetection.types
index ac2243d80d4aa..03e1ed19884f4 100644
--- a/tests/baselines/reference/primitiveUnionDetection.types
+++ b/tests/baselines/reference/primitiveUnionDetection.types
@@ -2,7 +2,7 @@
 // Repro from #46624
 
 type Kind = "one" | "two" | "three";
->Kind : Kind
+>Kind : "one" | "two" | "three"
 
 declare function getInterfaceFromString<T extends Kind>(options?: { type?: T } & { type?: Kind }): T;
 >getInterfaceFromString : <T extends Kind>(options?: ({ type?: T | undefined; } & { type?: Kind | undefined; }) | undefined) => T
diff --git a/tests/baselines/reference/privateNameAndPropertySignature.types b/tests/baselines/reference/privateNameAndPropertySignature.types
index 3ff962d53e007..9e15556d098f9 100644
--- a/tests/baselines/reference/privateNameAndPropertySignature.types
+++ b/tests/baselines/reference/privateNameAndPropertySignature.types
@@ -1,6 +1,6 @@
 === tests/cases/conformance/classes/members/privateNames/privateNameAndPropertySignature.ts ===
 type A = {
->A : A
+>A : {}
 
     #foo: string;
 >#foo : string
diff --git a/tests/baselines/reference/privatePropertyInUnion.types b/tests/baselines/reference/privatePropertyInUnion.types
index 8a618b09e063a..1bc4ea394773a 100644
--- a/tests/baselines/reference/privatePropertyInUnion.types
+++ b/tests/baselines/reference/privatePropertyInUnion.types
@@ -2,7 +2,7 @@
 // Repro from #38236
 
 type Type = string | object;
->Type : Type
+>Type : string | object
 
 class SyncableObject {
 >SyncableObject : SyncableObject
diff --git a/tests/baselines/reference/propTypeValidatorInference.types b/tests/baselines/reference/propTypeValidatorInference.types
index be23e8eecb6cc..ed705dbd73061 100644
--- a/tests/baselines/reference/propTypeValidatorInference.types
+++ b/tests/baselines/reference/propTypeValidatorInference.types
@@ -275,12 +275,12 @@ const propTypesWithoutAnnotation = {
 };
 
 type ExtractedProps = PropTypes.InferProps<typeof propTypes>;
->ExtractedProps : ExtractedProps
+>ExtractedProps : PropTypes.InferPropsInner<Pick<PropTypes.ValidationMap<Props>, PropTypes.RequiredKeys<PropTypes.ValidationMap<Props>>>> & Partial<PropTypes.InferPropsInner<Pick<PropTypes.ValidationMap<Props>, "any">>>
 >PropTypes : any
 >propTypes : PropTypes.ValidationMap<Props>
 
 type ExtractedPropsWithoutAnnotation = PropTypes.InferProps<typeof propTypesWithoutAnnotation>;
->ExtractedPropsWithoutAnnotation : ExtractedPropsWithoutAnnotation
+>ExtractedPropsWithoutAnnotation : PropTypes.InferPropsInner<Pick<{ any: PropTypes.Requireable<any>; array: PropTypes.Validator<any[]>; bool: PropTypes.Validator<boolean>; shape: PropTypes.Validator<PropTypes.InferProps<{ foo: PropTypes.Validator<string>; bar: PropTypes.Requireable<boolean>; baz: PropTypes.Requireable<any>; }>>; oneOfType: PropTypes.Validator<string | boolean | PropTypes.InferProps<{ foo: PropTypes.Requireable<string>; bar: PropTypes.Validator<number>; }>>; }, PropTypes.RequiredKeys<{ any: PropTypes.Requireable<any>; array: PropTypes.Validator<any[]>; bool: PropTypes.Validator<boolean>; shape: PropTypes.Validator<PropTypes.InferProps<{ foo: PropTypes.Validator<string>; bar: PropTypes.Requireable<boolean>; baz: PropTypes.Requireable<any>; }>>; oneOfType: PropTypes.Validator<string | boolean | PropTypes.InferProps<{ foo: PropTypes.Requireable<string>; bar: PropTypes.Validator<number>; }>>; }>>> & Partial<PropTypes.InferPropsInner<Pick<{ any: PropTypes.Requireable<any>; array: PropTypes.Validator<any[]>; bool: PropTypes.Validator<boolean>; shape: PropTypes.Validator<PropTypes.InferProps<{ foo: PropTypes.Validator<string>; bar: PropTypes.Requireable<boolean>; baz: PropTypes.Requireable<any>; }>>; oneOfType: PropTypes.Validator<string | boolean | PropTypes.InferProps<{ foo: PropTypes.Requireable<string>; bar: PropTypes.Validator<number>; }>>; }, "any">>>
 >PropTypes : any
 >propTypesWithoutAnnotation : { any: PropTypes.Requireable<any>; array: PropTypes.Validator<any[]>; bool: PropTypes.Validator<boolean>; shape: PropTypes.Validator<PropTypes.InferProps<{ foo: PropTypes.Validator<string>; bar: PropTypes.Requireable<boolean>; baz: PropTypes.Requireable<any>; }>>; oneOfType: PropTypes.Validator<string | boolean | PropTypes.InferProps<{ foo: PropTypes.Requireable<string>; bar: PropTypes.Validator<number>; }>>; }
 
diff --git a/tests/baselines/reference/quickinfoTypeAtReturnPositionsInaccurate.types b/tests/baselines/reference/quickinfoTypeAtReturnPositionsInaccurate.types
index 1782050b8f261..e0d62f6f5324c 100644
--- a/tests/baselines/reference/quickinfoTypeAtReturnPositionsInaccurate.types
+++ b/tests/baselines/reference/quickinfoTypeAtReturnPositionsInaccurate.types
@@ -102,7 +102,7 @@ class SimpleStore<Entries extends { [index: string]: NumClass<number> | StrClass
 }
 
 type Slice = {
->Slice : Slice
+>Slice : { [index: string]: NumClass<number> | StrClass<string>; }
 
     [index: string]: NumClass<number> | StrClass<string>
 >index : string
diff --git a/tests/baselines/reference/ramdaToolsNoInfinite.types b/tests/baselines/reference/ramdaToolsNoInfinite.types
index f655e100c3009..36d923f338ae0 100644
--- a/tests/baselines/reference/ramdaToolsNoInfinite.types
+++ b/tests/baselines/reference/ramdaToolsNoInfinite.types
@@ -143,7 +143,7 @@ declare namespace Tools {
 
 declare namespace R {
     export type Placeholder = { __placeholder: void };
->Placeholder : Placeholder
+>Placeholder : { __placeholder: void; }
 >__placeholder : void
 }
 
diff --git a/tests/baselines/reference/ramdaToolsNoInfinite2.types b/tests/baselines/reference/ramdaToolsNoInfinite2.types
index b61d0ef3754fa..82a6a3cd6f245 100644
--- a/tests/baselines/reference/ramdaToolsNoInfinite2.types
+++ b/tests/baselines/reference/ramdaToolsNoInfinite2.types
@@ -99,7 +99,7 @@ declare module "Boolean/Boolean" {
 >"Boolean/Boolean" : typeof import("Boolean/Boolean")
 
     export type Boolean = True | False;
->Boolean : Boolean
+>Boolean : 0 | 1
 
     export type True = 1;
 >True : 1
@@ -161,7 +161,7 @@ declare module "Any/_Internal" {
 >_NumberOf : any
 
     export type Match = 'default' | 'implements->' | '<-implements' | 'extends->' | '<-extends' | 'equals';
->Match : Match
+>Match : "default" | "implements->" | "<-implements" | "extends->" | "<-extends" | "equals"
 
     export type NumberOf<N extends any> = N extends number ? _NumberOf<N> : N;
 >NumberOf : NumberOf<N>
@@ -179,7 +179,7 @@ declare module "Any/Key" {
 >"Any/Key" : typeof import("Any/Key")
 
     export type Key = string | number | symbol;
->Key : Key
+>Key : string | number | symbol
 }
 declare module "Union/Keys" {
 >"Union/Keys" : typeof import("Union/Keys")
@@ -409,19 +409,19 @@ declare module "Number/_Internal" {
 >Format : any
 
     export type Formats = 'b' | 'n' | 's';
->Formats : Formats
+>Formats : "n" | "s" | "b"
 
     type KnownIterationMapKeys = '-40' | '-39' | '-38' | '-37' | '-36' | '-35' | '-34' | '-33' | '-32' | '-31' | '-30' | '-29' | '-28' | '-27' | '-26' | '-25' | '-24' | '-23' | '-22' | '-21' | '-20' | '-19' | '-18' | '-17' | '-16' | '-15' | '-14' | '-13' | '-12' | '-11' | '-10' | '-9' | '-8' | '-7' | '-6' | '-5' | '-4' | '-3' | '-2' | '-1' | '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '10' | '11' | '12' | '13' | '14' | '15' | '16' | '17' | '18' | '19' | '20' | '21' | '22' | '23' | '24' | '25' | '26' | '27' | '28' | '29' | '30' | '31' | '32' | '33' | '34' | '35' | '36' | '37' | '38' | '39' | '40';
->KnownIterationMapKeys : KnownIterationMapKeys
+>KnownIterationMapKeys : "-40" | "-39" | "-38" | "-37" | "-36" | "-35" | "-34" | "-33" | "-32" | "-31" | "-30" | "-29" | "-28" | "-27" | "-26" | "-25" | "-24" | "-23" | "-22" | "-21" | "-20" | "-19" | "-18" | "-17" | "-16" | "-15" | "-14" | "-13" | "-12" | "-11" | "-10" | "-9" | "-8" | "-7" | "-6" | "-5" | "-4" | "-3" | "-2" | "-1" | "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "13" | "14" | "15" | "16" | "17" | "18" | "19" | "20" | "21" | "22" | "23" | "24" | "25" | "26" | "27" | "28" | "29" | "30" | "31" | "32" | "33" | "34" | "35" | "36" | "37" | "38" | "39" | "40"
 
     type PositiveIterationKeys = '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '10' | '11' | '12' | '13' | '14' | '15' | '16' | '17' | '18' | '19' | '20' | '21' | '22' | '23' | '24' | '25' | '26' | '27' | '28' | '29' | '30' | '31' | '32' | '33' | '34' | '35' | '36' | '37' | '38' | '39' | '40';
->PositiveIterationKeys : PositiveIterationKeys
+>PositiveIterationKeys : "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "13" | "14" | "15" | "16" | "17" | "18" | "19" | "20" | "21" | "22" | "23" | "24" | "25" | "26" | "27" | "28" | "29" | "30" | "31" | "32" | "33" | "34" | "35" | "36" | "37" | "38" | "39" | "40"
 
     type NegativeIterationKeys = '-40' | '-39' | '-38' | '-37' | '-36' | '-35' | '-34' | '-33' | '-32' | '-31' | '-30' | '-29' | '-28' | '-27' | '-26' | '-25' | '-24' | '-23' | '-22' | '-21' | '-20' | '-19' | '-18' | '-17' | '-16' | '-15' | '-14' | '-13' | '-12' | '-11' | '-10' | '-9' | '-8' | '-7' | '-6' | '-5' | '-4' | '-3' | '-2' | '-1';
->NegativeIterationKeys : NegativeIterationKeys
+>NegativeIterationKeys : "-40" | "-39" | "-38" | "-37" | "-36" | "-35" | "-34" | "-33" | "-32" | "-31" | "-30" | "-29" | "-28" | "-27" | "-26" | "-25" | "-24" | "-23" | "-22" | "-21" | "-20" | "-19" | "-18" | "-17" | "-16" | "-15" | "-14" | "-13" | "-12" | "-11" | "-10" | "-9" | "-8" | "-7" | "-6" | "-5" | "-4" | "-3" | "-2" | "-1"
 
     export type Numbers = {
->Numbers : Numbers
+>Numbers : { string: {    'all': Format<IterationMap[KnownIterationMapKeys], 's'>;    '+': Format<IterationMap[PositiveIterationKeys], 's'>;    '-': Format<IterationMap[NegativeIterationKeys], 's'>;    '0': Format<IterationMap['0'], 's'>;}; number: {    'all': Format<IterationMap[KnownIterationMapKeys], 'n'>;    '+': Format<IterationMap[PositiveIterationKeys], 'n'>;    '-': Format<IterationMap[NegativeIterationKeys], 'n'>;    '0': Format<IterationMap['0'], 'n'>;}; }
 
         'string': {
 >'string' : { all: Format<IterationMap[KnownIterationMapKeys], 's'>; '+': Format<IterationMap[PositiveIterationKeys], 's'>; '-': Format<IterationMap[NegativeIterationKeys], 's'>; '0': Format<IterationMap['0'], 's'>; }
@@ -467,10 +467,10 @@ declare module "Iteration/_Internal" {
 >"Iteration/_Internal" : typeof import("Iteration/_Internal")
 
     export type Formats = 'n' | 's';
->Formats : Formats
+>Formats : "n" | "s"
 
     export type Way = '->' | '<-';
->Way : Way
+>Way : "->" | "<-"
 }
 declare module "List/Prepend" {
 >"List/Prepend" : typeof import("List/Prepend")
@@ -801,10 +801,10 @@ declare module "Object/_Internal" {
 >"Object/_Internal" : typeof import("Object/_Internal")
 
     export type Modx = ['?' | '!', 'W' | 'R'];
->Modx : Modx
+>Modx : ["?" | "!", "W" | "R"]
 
     export type Depth = 'flat' | 'deep';
->Depth : Depth
+>Depth : "flat" | "deep"
 
     export type Empty<O extends object> = {
 >Empty : Empty<O>
@@ -819,7 +819,7 @@ declare module "Iteration/IterationOf" {
 >Number : any
 
     export type IterationMap = {
->IterationMap : IterationMap
+>IterationMap : { '-40': ['__', '-39', '-40', -40, '-']; '-39': ['-40', '-38', '-39', -39, '-']; '-38': ['-39', '-37', '-38', -38, '-']; '-37': ['-38', '-36', '-37', -37, '-']; '-36': ['-37', '-35', '-36', -36, '-']; '-35': ['-36', '-34', '-35', -35, '-']; '-34': ['-35', '-33', '-34', -34, '-']; '-33': ['-34', '-32', '-33', -33, '-']; '-32': ['-33', '-31', '-32', -32, '-']; '-31': ['-32', '-30', '-31', -31, '-']; '-30': ['-31', '-29', '-30', -30, '-']; '-29': ['-30', '-28', '-29', -29, '-']; '-28': ['-29', '-27', '-28', -28, '-']; '-27': ['-28', '-26', '-27', -27, '-']; '-26': ['-27', '-25', '-26', -26, '-']; '-25': ['-26', '-24', '-25', -25, '-']; '-24': ['-25', '-23', '-24', -24, '-']; '-23': ['-24', '-22', '-23', -23, '-']; '-22': ['-23', '-21', '-22', -22, '-']; '-21': ['-22', '-20', '-21', -21, '-']; '-20': ['-21', '-19', '-20', -20, '-']; '-19': ['-20', '-18', '-19', -19, '-']; '-18': ['-19', '-17', '-18', -18, '-']; '-17': ['-18', '-16', '-17', -17, '-']; '-16': ['-17', '-15', '-16', -16, '-']; '-15': ['-16', '-14', '-15', -15, '-']; '-14': ['-15', '-13', '-14', -14, '-']; '-13': ['-14', '-12', '-13', -13, '-']; '-12': ['-13', '-11', '-12', -12, '-']; '-11': ['-12', '-10', '-11', -11, '-']; '-10': ['-11', '-9', '-10', -10, '-']; '-9': ['-10', '-8', '-9', -9, '-']; '-8': ['-9', '-7', '-8', -8, '-']; '-7': ['-8', '-6', '-7', -7, '-']; '-6': ['-7', '-5', '-6', -6, '-']; '-5': ['-6', '-4', '-5', -5, '-']; '-4': ['-5', '-3', '-4', -4, '-']; '-3': ['-4', '-2', '-3', -3, '-']; '-2': ['-3', '-1', '-2', -2, '-']; '-1': ['-2', '0', '-1', -1, '-']; '0': ['-1', '1', '0', 0, '0']; '1': ['0', '2', '1', 1, '+']; '2': ['1', '3', '2', 2, '+']; '3': ['2', '4', '3', 3, '+']; '4': ['3', '5', '4', 4, '+']; '5': ['4', '6', '5', 5, '+']; '6': ['5', '7', '6', 6, '+']; '7': ['6', '8', '7', 7, '+']; '8': ['7', '9', '8', 8, '+']; '9': ['8', '10', '9', 9, '+']; '10': ['9', '11', '10', 10, '+']; '11': ['10', '12', '11', 11, '+']; '12': ['11', '13', '12', 12, '+']; '13': ['12', '14', '13', 13, '+']; '14': ['13', '15', '14', 14, '+']; '15': ['14', '16', '15', 15, '+']; '16': ['15', '17', '16', 16, '+']; '17': ['16', '18', '17', 17, '+']; '18': ['17', '19', '18', 18, '+']; '19': ['18', '20', '19', 19, '+']; '20': ['19', '21', '20', 20, '+']; '21': ['20', '22', '21', 21, '+']; '22': ['21', '23', '22', 22, '+']; '23': ['22', '24', '23', 23, '+']; '24': ['23', '25', '24', 24, '+']; '25': ['24', '26', '25', 25, '+']; '26': ['25', '27', '26', 26, '+']; '27': ['26', '28', '27', 27, '+']; '28': ['27', '29', '28', 28, '+']; '29': ['28', '30', '29', 29, '+']; '30': ['29', '31', '30', 30, '+']; '31': ['30', '32', '31', 31, '+']; '32': ['31', '33', '32', 32, '+']; '33': ['32', '34', '33', 33, '+']; '34': ['33', '35', '34', 34, '+']; '35': ['34', '36', '35', 35, '+']; '36': ['35', '37', '36', 36, '+']; '37': ['36', '38', '37', 37, '+']; '38': ['37', '39', '38', 38, '+']; '39': ['38', '40', '39', 39, '+']; '40': ['39', '__', '40', 40, '+']; __: ['__', '__', string, number, '-' | '0' | '+']; }
 
         '-40': ['__', '-39', '-40', -40, '-'];
 >'-40' : ["__", "-39", "-40", -40, "-"]
@@ -1159,7 +1159,7 @@ declare module "Iteration/Iteration" {
 >IterationMap : any
 
     export type Iteration = [keyof IterationMap, keyof IterationMap, string, number, '-' | '0' | '+'];
->Iteration : Iteration
+>Iteration : [keyof IterationMap, keyof IterationMap, string, number, "0" | "-" | "+"]
 }
 declare module "Iteration/Key" {
 >"Iteration/Key" : typeof import("Iteration/Key")
diff --git a/tests/baselines/reference/reachabilityChecks4.types b/tests/baselines/reference/reachabilityChecks4.types
index 27051b3550d9e..30b7cb9f0bd5d 100644
--- a/tests/baselines/reference/reachabilityChecks4.types
+++ b/tests/baselines/reference/reachabilityChecks4.types
@@ -70,10 +70,10 @@ function f1(x: 0 | 1 | 2) {
 // Repro from #34021
 
 type Behavior = 'SLIDE' | 'SLIDE_OUT'
->Behavior : Behavior
+>Behavior : "SLIDE" | "SLIDE_OUT"
 
 type Direction = 'LEFT' | 'RIGHT' | 'TOP' | 'BOTTOM'
->Direction : Direction
+>Direction : "LEFT" | "RIGHT" | "TOP" | "BOTTOM"
 
 interface Transition {
   behavior: Behavior
diff --git a/tests/baselines/reference/readonlyArraysAndTuples.types b/tests/baselines/reference/readonlyArraysAndTuples.types
index 1f443c702f0ff..5075319ef9550 100644
--- a/tests/baselines/reference/readonlyArraysAndTuples.types
+++ b/tests/baselines/reference/readonlyArraysAndTuples.types
@@ -1,21 +1,21 @@
 === tests/cases/conformance/types/tuple/readonlyArraysAndTuples.ts ===
 type T10 = string[];
->T10 : T10
+>T10 : string[]
 
 type T11 = Array<string>;
->T11 : T11
+>T11 : string[]
 
 type T12 = readonly string[];
->T12 : T12
+>T12 : readonly string[]
 
 type T13 = ReadonlyArray<string>;
->T13 : T13
+>T13 : readonly string[]
 
 type T20 = [number, number];
->T20 : T20
+>T20 : [number, number]
 
 type T21 = readonly [number, number];
->T21 : T21
+>T21 : readonly [number, number]
 
 type T30 = readonly string;  // Error
 >T30 : string
@@ -24,10 +24,10 @@ type T31<T> = readonly T;  // Error
 >T31 : T
 
 type T32 = readonly readonly string[];  // Error
->T32 : T32
+>T32 : readonly string[]
 
 type T33 = readonly Array<string>;  // Error
->T33 : T33
+>T33 : string[]
 
 function f1(ma: string[], ra: readonly string[], mt: [string, string], rt: readonly [string, string]) {
 >f1 : (ma: string[], ra: readonly string[], mt: [string, string], rt: readonly [string, string]) => void
diff --git a/tests/baselines/reference/readonlyArraysAndTuples2.types b/tests/baselines/reference/readonlyArraysAndTuples2.types
index 21872ad63d221..9e49820fdbea4 100644
--- a/tests/baselines/reference/readonlyArraysAndTuples2.types
+++ b/tests/baselines/reference/readonlyArraysAndTuples2.types
@@ -1,21 +1,21 @@
 === tests/cases/conformance/types/tuple/readonlyArraysAndTuples2.ts ===
 type T10 = string[];
->T10 : T10
+>T10 : string[]
 
 type T11 = Array<string>;
->T11 : T11
+>T11 : string[]
 
 type T12 = readonly string[];
->T12 : T12
+>T12 : readonly string[]
 
 type T13 = ReadonlyArray<string>;
->T13 : T13
+>T13 : readonly string[]
 
 type T20 = [number, number];
->T20 : T20
+>T20 : [number, number]
 
 type T21 = readonly [number, number];
->T21 : T21
+>T21 : readonly [number, number]
 
 declare function f1(ma: string[], ra: readonly string[], mt: [string, string], rt: readonly [string, string]): readonly [string, string];
 >f1 : (ma: string[], ra: readonly string[], mt: [string, string], rt: readonly [string, string]) => readonly [string, string]
diff --git a/tests/baselines/reference/recursiveArrayNotCircular.types b/tests/baselines/reference/recursiveArrayNotCircular.types
index 1d0c76523af42..4aa4fc2530fc2 100644
--- a/tests/baselines/reference/recursiveArrayNotCircular.types
+++ b/tests/baselines/reference/recursiveArrayNotCircular.types
@@ -22,7 +22,7 @@ enum ActionType {
 }
 
 type ReducerAction =
->ReducerAction : ReducerAction
+>ReducerAction : { type: ActionType.Bar; payload: number; } | { type: ActionType.Baz; payload: false; } | { type: ActionType.Baz; payload: true; } | { type: ActionType.Foo; payload: string; } | { type: ActionType.Batch; payload: ReducerAction[]; }
 
   | Action<ActionType.Bar, number>
 >ActionType : any
diff --git a/tests/baselines/reference/recursiveConditionalTypes.types b/tests/baselines/reference/recursiveConditionalTypes.types
index 2291ce8b5eb35..a72af8cb4ffa2 100644
--- a/tests/baselines/reference/recursiveConditionalTypes.types
+++ b/tests/baselines/reference/recursiveConditionalTypes.types
@@ -76,7 +76,7 @@ type B0 = Flatten<string[][][]>;
 >B0 : string[]
 
 type B1 = Flatten<string[][] | readonly (number[] | boolean[][])[]>;
->B1 : B1
+>B1 : string[] | readonly (number | boolean)[]
 
 type B2 = Flatten<InfiniteArray<string>>;
 >B2 : any[]
@@ -96,7 +96,7 @@ type TT0 = TupleOf<string, 4>;
 >TT0 : [string, string, string, string]
 
 type TT1 = TupleOf<number, 0 | 2 | 4>;
->TT1 : TT1
+>TT1 : [] | [number, number] | [number, number, number, number]
 
 type TT2 = TupleOf<number, number>;
 >TT2 : number[]
@@ -154,22 +154,22 @@ declare function unbox<T>(box: RecBox<T>): T
 >box : RecBox<T>
 
 type T1 = Box<string>;
->T1 : T1
+>T1 : Box<string>
 
 type T2 = Box<T1>;
->T2 : T2
+>T2 : Box<T1>
 
 type T3 = Box<T2>;
->T3 : T3
+>T3 : Box<T2>
 
 type T4 = Box<T3>;
->T4 : T4
+>T4 : Box<T3>
 
 type T5 = Box<T4>;
->T5 : T5
+>T5 : Box<T4>
 
 type T6 = Box<T5>;
->T6 : T6
+>T6 : Box<T5>
 
 declare let b1: Box<Box<Box<Box<Box<Box<string>>>>>>;
 >b1 : Box<Box<Box<Box<Box<Box<string>>>>>>
diff --git a/tests/baselines/reference/recursiveExcessPropertyChecks.types b/tests/baselines/reference/recursiveExcessPropertyChecks.types
index 04b78367460b5..19f27b3af715d 100644
--- a/tests/baselines/reference/recursiveExcessPropertyChecks.types
+++ b/tests/baselines/reference/recursiveExcessPropertyChecks.types
@@ -7,7 +7,7 @@ interface ITreeItem {
 }
 
 type NodeWithId = ITreeItem & { Id?: number };
->NodeWithId : NodeWithId
+>NodeWithId : ITreeItem & { Id?: number | undefined; }
 >Id : number | undefined
 
 function getMaxId(items: NodeWithId[]) {
diff --git a/tests/baselines/reference/recursiveGenericUnionType1.types b/tests/baselines/reference/recursiveGenericUnionType1.types
index c4580adf453c8..37cc988279b88 100644
--- a/tests/baselines/reference/recursiveGenericUnionType1.types
+++ b/tests/baselines/reference/recursiveGenericUnionType1.types
@@ -8,7 +8,7 @@ declare module Test1 {
 
     };
     export type IStringContainer = Container<string>;
->IStringContainer : IStringContainer
+>IStringContainer : string | { [i: string]: Container<string>; }
 }
 
 declare module Test2 {
@@ -20,7 +20,7 @@ declare module Test2 {
 
     };
     export type IStringContainer = Container<string>;
->IStringContainer : IStringContainer
+>IStringContainer : string | { [i: string]: Container<string>; }
 }
 
 var x: Test1.Container<number>;
diff --git a/tests/baselines/reference/recursiveGenericUnionType2.types b/tests/baselines/reference/recursiveGenericUnionType2.types
index dbc4a03b6d02f..8f97bc24881c0 100644
--- a/tests/baselines/reference/recursiveGenericUnionType2.types
+++ b/tests/baselines/reference/recursiveGenericUnionType2.types
@@ -8,7 +8,7 @@ declare module Test1 {
 
     };
     export type IStringContainer = Container<string>;
->IStringContainer : IStringContainer
+>IStringContainer : string | { [i: string]: Container<string>[]; }
 }
 
 declare module Test2 {
@@ -20,7 +20,7 @@ declare module Test2 {
 
     };
     export type IStringContainer = Container<string>;
->IStringContainer : IStringContainer
+>IStringContainer : string | { [i: string]: Container<string>[]; }
 }
 
 var x: Test1.Container<number>;
diff --git a/tests/baselines/reference/recursiveMappedTypes.types b/tests/baselines/reference/recursiveMappedTypes.types
index c5888a1c2317f..14c2167f189d6 100644
--- a/tests/baselines/reference/recursiveMappedTypes.types
+++ b/tests/baselines/reference/recursiveMappedTypes.types
@@ -25,7 +25,7 @@ export type Circular<T> = {[P in keyof T]: Circular<T>};
 >Circular : Circular<T>
 
 type tup = [number, number, number, number];
->tup : tup
+>tup : [number, number, number, number]
 
 function foo(arg: Circular<tup>): tup {
 >foo : (arg: any) => tup
@@ -44,10 +44,10 @@ type DeepMap<T extends unknown[], R> = {
 };
 
 type tpl = [string, [string, [string]]];
->tpl : tpl
+>tpl : [string, [string, [string]]]
 
 type arr = string[][];
->arr : arr
+>arr : string[][]
 
 type t1 = DeepMap<tpl, number>;  // [number, [number, [number]]]
 >t1 : [number, [number, [number]]]
@@ -123,7 +123,7 @@ export interface ListWidget {
 }
 
 type ListChild = Child<ListWidget>
->ListChild : ListChild
+>ListChild : { [x: string]: any; }
 
 declare let x: ListChild;
 >x : ListChild
diff --git a/tests/baselines/reference/recursiveTupleTypeInference.types b/tests/baselines/reference/recursiveTupleTypeInference.types
index bc2c5373dcf1b..050a4bd3135ef 100644
--- a/tests/baselines/reference/recursiveTupleTypeInference.types
+++ b/tests/baselines/reference/recursiveTupleTypeInference.types
@@ -2,7 +2,7 @@
 // Repro from #37475
 
 export type A = "number" | "null" | A[];
->A : A
+>A : "number" | "null" | A[]
 
 export type F<T> = null extends T
 >F : F<T>
diff --git a/tests/baselines/reference/recursiveTypeReferences1.types b/tests/baselines/reference/recursiveTypeReferences1.types
index 8259f392c5ba8..bbdcdfeb82708 100644
--- a/tests/baselines/reference/recursiveTypeReferences1.types
+++ b/tests/baselines/reference/recursiveTypeReferences1.types
@@ -22,7 +22,7 @@ const a1: ValueOrArray<number> = [1, [2, 3], [4, [5, [6, 7]]]];
 >7 : 7
 
 type HypertextNode = string | [string, { [key: string]: unknown }, ...HypertextNode[]];
->HypertextNode : HypertextNode
+>HypertextNode : string | [string, { [key: string]: unknown; }, ...HypertextNode[]]
 >key : string
 
 const hypertextNode: HypertextNode =
@@ -54,7 +54,7 @@ const hypertextNode: HypertextNode =
     ];
 
 type Json = string | number | boolean | null | Json[] | { [key: string]: Json };
->Json : Json
+>Json : string | number | boolean | Json[] | { [key: string]: Json; } | null
 >null : null
 >key : string
 
@@ -89,13 +89,13 @@ interface Box<T> { value: T };
 >value : T
 
 type T1 = Box<T1>;
->T1 : T1
+>T1 : Box<T1>
 
 type T2 = Box<Box<T2>>;
->T2 : T2
+>T2 : Box<Box<T2>>
 
 type T3 = Box<Box<Box<T3>>>;
->T3 : T3
+>T3 : Box<Box<Box<T3>>>
 
 function f1(t1: T1, t2: T2, t3: T3) {
 >f1 : (t1: T1, t2: T2, t3: T3) => void
@@ -135,7 +135,7 @@ function f1(t1: T1, t2: T2, t3: T3) {
 }
 
 type Box1 = Box<Box1> | number;
->Box1 : Box1
+>Box1 : number | Box<Box1>
 
 const b10: Box1 = 42;
 >b10 : Box1
@@ -158,7 +158,7 @@ const b12: Box1 = { value: { value: { value: 42 }}};
 >42 : 42
 
 type Box2 = Box<Box2 | number>;
->Box2 : Box2
+>Box2 : Box<number | Box2>
 
 const b20: Box2 = 42;  // Error
 >b20 : Box2
@@ -344,19 +344,19 @@ flat2([1, ['a']]);  // Error
 >'a' : "a"
 
 type T10 = T10[];
->T10 : T10
+>T10 : T10[]
 
 type T11 = readonly T11[];
->T11 : T11
+>T11 : readonly T11[]
 
 type T12 = (T12)[];
->T12 : T12
+>T12 : T12[]
 
 type T13 = T13[] | string;
->T13 : T13
+>T13 : string | T13[]
 
 type T14 = T14[] & { x: string };
->T14 : T14
+>T14 : T14[] & { x: string; }
 >x : string
 
 type T15<X> = X extends string ? T15<X>[] : never;
@@ -403,7 +403,7 @@ let x2 = foo2(ra2);  // Boom!
 // Repro from #33617 (errors are expected)
 
 type Tree = [HTMLHeadingElement, Tree][];
->Tree : Tree
+>Tree : [HTMLHeadingElement, Tree][]
 
 function parse(node: Tree, index: number[] = []): HTMLUListElement {
 >parse : (node: Tree, index?: number[]) => HTMLUListElement
diff --git a/tests/baselines/reference/restTupleElements1.types b/tests/baselines/reference/restTupleElements1.types
index b74d0c20df841..149ad77a9fa6e 100644
--- a/tests/baselines/reference/restTupleElements1.types
+++ b/tests/baselines/reference/restTupleElements1.types
@@ -1,27 +1,27 @@
 === tests/cases/conformance/types/tuple/restTupleElements1.ts ===
 type T00 = [string?];
->T00 : T00
+>T00 : [(string | undefined)?]
 
 type T01 = [string, string?];
->T01 : T01
+>T01 : [string, (string | undefined)?]
 
 type T02 = [string?, string];  // Error
->T02 : T02
+>T02 : [(string | undefined)?, string]
 
 type T03 = [...string[]];
->T03 : T03
+>T03 : string[]
 
 type T04 = [...[...string[]]];
->T04 : T04
+>T04 : string[]
 
 type T05 = [...[...[...string[]]]];
->T05 : T05
+>T05 : string[]
 
 type T06 = [string, ...string[]];
->T06 : T06
+>T06 : [string, ...string[]]
 
 type T07 = [...string[], string];  // Error
->T07 : T07
+>T07 : [...string[], string]
 
 type T08 = [...string];  // Error
 >T08 : any[]
@@ -30,13 +30,13 @@ type T09 = [...string?];  // Error
 >T09 : any[]
 
 type T10 = [string, ...[...string[]]];
->T10 : T10
+>T10 : [string, ...string[]]
 
 type T11 = [string, ...[...[...string[]]]];
->T11 : T11
+>T11 : [string, ...string[]]
 
 type T15 = [boolean, number, ...string[]];
->T15 : T15
+>T15 : [boolean, number, ...string[]]
 
 type L15 = T15["length"];  // number
 >L15 : number
@@ -101,25 +101,25 @@ assign<[number, ...number[]], [number, number, number, string]>();  // Error
 >assign : <T, S extends T>() => void
 
 type T20 = [number, string, ...boolean[]];
->T20 : T20
+>T20 : [number, string, ...boolean[]]
 
 type T21 = T20[0];
 >T21 : number
 
 type T22 = T20[0 | 1];
->T22 : T22
+>T22 : string | number
 
 type T23 = T20[0 | 1 | 2];
->T23 : T23
+>T23 : string | number | boolean
 
 type T24 = T20[0 | 1 | 2 | 3];
->T24 : T24
+>T24 : string | number | boolean
 
 type T25 = T20[1 | 2 | 3];
->T25 : T25
+>T25 : string | boolean
 
 type T26 = T20[2 | 3];
->T26 : T26
+>T26 : boolean
 
 type T27 = T20[3];
 >T27 : boolean
diff --git a/tests/baselines/reference/restTuplesFromContextualTypes.types b/tests/baselines/reference/restTuplesFromContextualTypes.types
index b62045eba3166..6bbc92095d073 100644
--- a/tests/baselines/reference/restTuplesFromContextualTypes.types
+++ b/tests/baselines/reference/restTuplesFromContextualTypes.types
@@ -501,10 +501,10 @@ take(function(...rest){});
 // Repro from #29833
 
 type ArgsUnion = [number, string] | [number, Error];
->ArgsUnion : ArgsUnion
+>ArgsUnion : [number, string] | [number, Error]
 
 type TupleUnionFunc = (...params: ArgsUnion) => number;
->TupleUnionFunc : TupleUnionFunc
+>TupleUnionFunc : (...params: ArgsUnion) => number
 >params : ArgsUnion
 
 const funcUnionTupleNoRest: TupleUnionFunc = (num, strOrErr) => {
diff --git a/tests/baselines/reference/returnTypeInferenceNotTooBroad.types b/tests/baselines/reference/returnTypeInferenceNotTooBroad.types
index a95d7012d1700..a17ce9534c33a 100644
--- a/tests/baselines/reference/returnTypeInferenceNotTooBroad.types
+++ b/tests/baselines/reference/returnTypeInferenceNotTooBroad.types
@@ -1,6 +1,6 @@
 === tests/cases/compiler/returnTypeInferenceNotTooBroad.ts ===
 type Signs = { kind: 'a'; a: 3; } | { kind: 'b'; b: 2; } | { kind: 'c'; c: 1; };
->Signs : Signs
+>Signs : { kind: 'a'; a: 3; } | { kind: 'b'; b: 2; } | { kind: 'c'; c: 1; }
 >kind : "a"
 >a : 3
 >kind : "b"
diff --git a/tests/baselines/reference/reverseMappedTypeAssignableToIndex.types b/tests/baselines/reference/reverseMappedTypeAssignableToIndex.types
index 589e9ff3477a3..f8e272ed48334 100644
--- a/tests/baselines/reference/reverseMappedTypeAssignableToIndex.types
+++ b/tests/baselines/reference/reverseMappedTypeAssignableToIndex.types
@@ -10,7 +10,7 @@ type InferFromMapped<T> = T extends Mapped<infer R> ? R : never;
 // Object literal type and associated mapped type
 // Note that in the real code we don't have a direct reference to LiteralType
 type LiteralType = {
->LiteralType : LiteralType
+>LiteralType : { first: "first"; second: "second"; }
 
 	first: "first";
 >first : "first"
@@ -19,7 +19,7 @@ type LiteralType = {
 >second : "second"
 }
 type MappedLiteralType = {
->MappedLiteralType : MappedLiteralType
+>MappedLiteralType : { first: {    name: "first";}; second: {    name: "second";}; }
 
 	first: { name: "first" },
 >first : { name: "first"; }
diff --git a/tests/baselines/reference/selfReferencingTypeReferenceInference.types b/tests/baselines/reference/selfReferencingTypeReferenceInference.types
index a33b3d9ceb75f..17ab0ee787fdf 100644
--- a/tests/baselines/reference/selfReferencingTypeReferenceInference.types
+++ b/tests/baselines/reference/selfReferencingTypeReferenceInference.types
@@ -15,7 +15,7 @@ type InferRecursive<T> = T extends Recursive<infer R> ? R : "never!"
 
 // the type we are testing with
 type t1 = Box<string | Box<number | boolean>>
->t1 : t1
+>t1 : Box<string | Box<number | boolean>>
 
 type t2 = InferRecursive<t1>
 >t2 : string | number | boolean
diff --git a/tests/baselines/reference/silentNeverPropagation.types b/tests/baselines/reference/silentNeverPropagation.types
index c64dfc61f6e96..018f59630842a 100644
--- a/tests/baselines/reference/silentNeverPropagation.types
+++ b/tests/baselines/reference/silentNeverPropagation.types
@@ -10,7 +10,7 @@ type ModuleWithState<TState> = {
 };
 
 type State = {
->State : State
+>State : { a: number; }
 
     a: number;
 >a : number
@@ -18,7 +18,7 @@ type State = {
 };
 
 type MoreState = {
->MoreState : MoreState
+>MoreState : { z: string; }
 
     z: string;
 >z : string
diff --git a/tests/baselines/reference/singletonLabeledTuple.types b/tests/baselines/reference/singletonLabeledTuple.types
index 44ca6b978d1bd..654741d2123b4 100644
--- a/tests/baselines/reference/singletonLabeledTuple.types
+++ b/tests/baselines/reference/singletonLabeledTuple.types
@@ -1,6 +1,6 @@
 === tests/cases/compiler/singletonLabeledTuple.ts ===
 type AliasOptional = [p?: number]
->AliasOptional : AliasOptional
+>AliasOptional : [p?: number]
 
 // literal type vs type alias
 type Literal = [p?: number] extends [unknown] ? true : false // Expect `Literal` to be `false`
@@ -26,7 +26,7 @@ type Normal = [number?] extends [unknown] ? true : false       // Expect `Normal
 
 
 type AliasRest = [...p: number[]];
->AliasRest : AliasRest
+>AliasRest : number[]
 
 type LiteralRest = [...p: number[]] extends [unknown] ? true : false; // Expect `LiteralRest` to be `false`
 >LiteralRest : false
diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPattern.types b/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPattern.types
index eff8a93096310..9cf260ffd343a 100644
--- a/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPattern.types
+++ b/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPattern.types
@@ -7,10 +7,10 @@ declare var console: {
 >msg : any
 }
 type Robot = [number, string, string];
->Robot : Robot
+>Robot : [number, string, string]
 
 type MultiSkilledRobot = [string, [string, string]];
->MultiSkilledRobot : MultiSkilledRobot
+>MultiSkilledRobot : [string, [string, string]]
 
 let robotA: Robot = [1, "mower", "mowing"];
 >robotA : Robot
diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPattern2.types b/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPattern2.types
index bfa1757d616ba..296e6a5b3607e 100644
--- a/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPattern2.types
+++ b/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPattern2.types
@@ -7,10 +7,10 @@ declare var console: {
 >msg : any
 }
 type Robot = [number, string, string];
->Robot : Robot
+>Robot : [number, string, string]
 
 type MultiSkilledRobot = [string, [string, string]];
->MultiSkilledRobot : MultiSkilledRobot
+>MultiSkilledRobot : [string, [string, string]]
 
 let robotA: Robot = [1, "mower", "mowing"];
 >robotA : Robot
diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.types b/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.types
index 2dab0c1cd6b83..9f5f07b533cdd 100644
--- a/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.types
+++ b/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.types
@@ -7,10 +7,10 @@ declare var console: {
 >msg : any
 }
 type Robot = [number, string, string];
->Robot : Robot
+>Robot : [number, string, string]
 
 type MultiSkilledRobot = [string, string[]];
->MultiSkilledRobot : MultiSkilledRobot
+>MultiSkilledRobot : [string, string[]]
 
 let robotA: Robot = [1, "mower", "mowing"];
 >robotA : Robot
diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPatternDefaultValues2.types b/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPatternDefaultValues2.types
index aa06efe39657d..bbe23b1c3f367 100644
--- a/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPatternDefaultValues2.types
+++ b/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPatternDefaultValues2.types
@@ -7,10 +7,10 @@ declare var console: {
 >msg : any
 }
 type Robot = [number, string, string];
->Robot : Robot
+>Robot : [number, string, string]
 
 type MultiSkilledRobot = [string, [string, string]];
->MultiSkilledRobot : MultiSkilledRobot
+>MultiSkilledRobot : [string, [string, string]]
 
 let robotA: Robot = [1, "mower", "mowing"];
 >robotA : Robot
diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPattern.types b/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPattern.types
index f38bc8330ef75..36710552499c4 100644
--- a/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPattern.types
+++ b/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPattern.types
@@ -7,10 +7,10 @@ declare var console: {
 >msg : any
 }
 type Robot = [number, string, string];
->Robot : Robot
+>Robot : [number, string, string]
 
 type MultiSkilledRobot = [string, [string, string]];
->MultiSkilledRobot : MultiSkilledRobot
+>MultiSkilledRobot : [string, [string, string]]
 
 let robotA: Robot = [1, "mower", "mowing"];
 >robotA : Robot
diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPattern2.types b/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPattern2.types
index 92797377d3a49..d08d463ece8de 100644
--- a/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPattern2.types
+++ b/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPattern2.types
@@ -7,10 +7,10 @@ declare var console: {
 >msg : any
 }
 type Robot = [number, string, string];
->Robot : Robot
+>Robot : [number, string, string]
 
 type MultiSkilledRobot = [string, [string, string]];
->MultiSkilledRobot : MultiSkilledRobot
+>MultiSkilledRobot : [string, [string, string]]
 
 let robotA: Robot = [1, "mower", "mowing"];
 >robotA : Robot
diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues.types b/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues.types
index cab4cc5ba07be..0ccac5ac7c1e7 100644
--- a/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues.types
+++ b/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues.types
@@ -7,10 +7,10 @@ declare var console: {
 >msg : any
 }
 type Robot = [number, string, string];
->Robot : Robot
+>Robot : [number, string, string]
 
 type MultiSkilledRobot = [string, [string, string]];
->MultiSkilledRobot : MultiSkilledRobot
+>MultiSkilledRobot : [string, [string, string]]
 
 let robotA: Robot = [1, "mower", "mowing"];
 >robotA : Robot
diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues2.types b/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues2.types
index 14e0bbaa33580..2e6f39f639eab 100644
--- a/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues2.types
+++ b/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues2.types
@@ -7,10 +7,10 @@ declare var console: {
 >msg : any
 }
 type Robot = [number, string, string];
->Robot : Robot
+>Robot : [number, string, string]
 
 type MultiSkilledRobot = [string, [string, string]];
->MultiSkilledRobot : MultiSkilledRobot
+>MultiSkilledRobot : [string, [string, string]]
 
 let robotA: Robot = [1, "mower", "mowing"];
 >robotA : Robot
diff --git a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPattern.types b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPattern.types
index ff955abe34bfe..1ee8ebd1887eb 100644
--- a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPattern.types
+++ b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPattern.types
@@ -7,7 +7,7 @@ declare var console: {
 >msg : any
 }
 type Robot = [number, string, string];
->Robot : Robot
+>Robot : [number, string, string]
 
 var robotA: Robot = [1, "mower", "mowing"];
 >robotA : Robot
diff --git a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPattern2.types b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPattern2.types
index aa1dc644b08d6..50d9ad00e750a 100644
--- a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPattern2.types
+++ b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPattern2.types
@@ -7,7 +7,7 @@ declare var console: {
 >msg : any
 }
 type Robot = [string, [string, string]];
->Robot : Robot
+>Robot : [string, [string, string]]
 
 var robotA: Robot = ["trimmer", ["trimming", "edging"]];
 >robotA : Robot
diff --git a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.types b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.types
index 94106255a1290..dfadbc9f867d1 100644
--- a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.types
+++ b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.types
@@ -7,7 +7,7 @@ declare var console: {
 >msg : any
 }
 type Robot = [number, string, string];
->Robot : Robot
+>Robot : [number, string, string]
 
 var robotA: Robot = [1, "mower", "mowing"];
 >robotA : Robot
diff --git a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.types b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.types
index 8fd8a82fa6939..07545582f1c6c 100644
--- a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.types
+++ b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.types
@@ -7,7 +7,7 @@ declare var console: {
 >msg : any
 }
 type Robot = [string, string[]];
->Robot : Robot
+>Robot : [string, string[]]
 
 var robotA: Robot = ["trimmer", ["trimming", "edging"]];
 >robotA : Robot
diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern.types b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern.types
index 61e7f7ab3e2e9..04586760989e2 100644
--- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern.types
+++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern.types
@@ -7,7 +7,7 @@ declare var console: {
 >msg : string
 }
 type Robot = [number, string, string];
->Robot : Robot
+>Robot : [number, string, string]
 
 var robotA: Robot = [1, "mower", "mowing"];
 >robotA : Robot
diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.types b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.types
index 899d2c1872ae0..02041b4aeb5ed 100644
--- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.types
+++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.types
@@ -7,7 +7,7 @@ declare var console: {
 >msg : string
 }
 type MultiSkilledRobot = [string, [string, string]];
->MultiSkilledRobot : MultiSkilledRobot
+>MultiSkilledRobot : [string, [string, string]]
 
 var multiRobotA: MultiSkilledRobot = ["mower", ["mowing", ""]];
 >multiRobotA : MultiSkilledRobot
diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern3.types b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern3.types
index a1e735ea691e5..8ef9960df1b15 100644
--- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern3.types
+++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern3.types
@@ -7,10 +7,10 @@ declare var console: {
 >msg : any
 }
 type Robot = [number, string, string];
->Robot : Robot
+>Robot : [number, string, string]
 
 type MultiSkilledRobot = [string, [string, string]];
->MultiSkilledRobot : MultiSkilledRobot
+>MultiSkilledRobot : [string, [string, string]]
 
 var robotA: Robot = [1, "mower", "mowing"];
 >robotA : Robot
diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues.types b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues.types
index 0bdf495f09efc..2d9245a65989e 100644
--- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues.types
+++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues.types
@@ -7,7 +7,7 @@ declare var console: {
 >msg : string
 }
 type Robot = [number, string, string];
->Robot : Robot
+>Robot : [number, string, string]
 
 var robotA: Robot = [1, "mower", "mowing"];
 >robotA : Robot
diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues2.types b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues2.types
index ff88713b0db43..f00d3251e41cd 100644
--- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues2.types
+++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues2.types
@@ -7,7 +7,7 @@ declare var console: {
 >msg : string
 }
 type MultiSkilledRobot = [string, string[]];
->MultiSkilledRobot : MultiSkilledRobot
+>MultiSkilledRobot : [string, string[]]
 
 var multiRobotA: MultiSkilledRobot = ["mower", ["mowing", ""]];
 >multiRobotA : MultiSkilledRobot
diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.types b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.types
index eaa8c33d7c0b3..163f23be381b5 100644
--- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.types
+++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.types
@@ -7,10 +7,10 @@ declare var console: {
 >msg : any
 }
 type Robot = [number, string, string];
->Robot : Robot
+>Robot : [number, string, string]
 
 type MultiSkilledRobot = [string, string[]];
->MultiSkilledRobot : MultiSkilledRobot
+>MultiSkilledRobot : [string, string[]]
 
 var robotA: Robot = [1, "mower", "mowing"];
 >robotA : Robot
diff --git a/tests/baselines/reference/spreadBooleanRespectsFreshness.types b/tests/baselines/reference/spreadBooleanRespectsFreshness.types
index cd20dc31944b6..3ccc42b24e3ce 100644
--- a/tests/baselines/reference/spreadBooleanRespectsFreshness.types
+++ b/tests/baselines/reference/spreadBooleanRespectsFreshness.types
@@ -1,13 +1,13 @@
 === tests/cases/compiler/spreadBooleanRespectsFreshness.ts ===
 type Foo = FooBase | FooArray;
->Foo : Foo
+>Foo : FooBase | FooArray
 
 type FooBase = string | false;
->FooBase : FooBase
+>FooBase : string | false
 >false : false
 
 type FooArray = FooBase[];
->FooArray : FooArray
+>FooArray : FooBase[]
 
 declare let foo1: Foo;
 >foo1 : Foo
diff --git a/tests/baselines/reference/spreadExcessProperty.types b/tests/baselines/reference/spreadExcessProperty.types
index 015c7cc85aad6..66b337bdb0b69 100644
--- a/tests/baselines/reference/spreadExcessProperty.types
+++ b/tests/baselines/reference/spreadExcessProperty.types
@@ -1,6 +1,6 @@
 === tests/cases/conformance/types/spread/spreadExcessProperty.ts ===
 type A = { a: string, b: string };
->A : A
+>A : { a: string; b: string; }
 >a : string
 >b : string
 
diff --git a/tests/baselines/reference/staticIndexSignature5.types b/tests/baselines/reference/staticIndexSignature5.types
index 92360a7fde388..2f3ea91f8cfc2 100644
--- a/tests/baselines/reference/staticIndexSignature5.types
+++ b/tests/baselines/reference/staticIndexSignature5.types
@@ -38,16 +38,16 @@ type TE = keyof typeof B;
 >B : typeof B
 
 type TF = Pick<typeof B, number>
->TF : TF
+>TF : { [x: number]: 42 | 233; }
 >B : typeof B
 
 type TFI = Pick<I, number>
->TFI : TFI
+>TFI : { [x: number]: 42 | 233; }
 
 type TG = Omit<typeof B, number>
->TG : TG
+>TG : { [x: string]: number; }
 >B : typeof B
 
 type TGI = Omit<I, number>
->TGI : TGI
+>TGI : { [x: string]: number; }
 
diff --git a/tests/baselines/reference/strictOptionalProperties1.types b/tests/baselines/reference/strictOptionalProperties1.types
index 86e2e6e5c1259..ba14aedfd1846 100644
--- a/tests/baselines/reference/strictOptionalProperties1.types
+++ b/tests/baselines/reference/strictOptionalProperties1.types
@@ -414,7 +414,7 @@ function f6() {
 // Example from #13195
 
 type Props = {
->Props : Props
+>Props : { foo: string; bar: string; }
 
     foo: string;
 >foo : string
@@ -424,7 +424,7 @@ type Props = {
 }
 
 type InputProps = {
->InputProps : InputProps
+>InputProps : { foo?: string; bar: string; }
 
     foo?: string;
 >foo : string | undefined
@@ -793,7 +793,7 @@ interface PropsFromMaterialUI {
 }
 
 type TheTypeFromMaterialUI = PropsFromReact & PropsFromMaterialUI;
->TheTypeFromMaterialUI : TheTypeFromMaterialUI
+>TheTypeFromMaterialUI : PropsFromReact & PropsFromMaterialUI
 
 interface NavBottomListItem extends TheTypeFromMaterialUI {
     value: string;
diff --git a/tests/baselines/reference/stringEnumLiteralTypes1.types b/tests/baselines/reference/stringEnumLiteralTypes1.types
index 0c09694228e2a..41b3f7b6514f3 100644
--- a/tests/baselines/reference/stringEnumLiteralTypes1.types
+++ b/tests/baselines/reference/stringEnumLiteralTypes1.types
@@ -9,17 +9,17 @@ const enum Choice { Unknown = "", Yes = "yes", No = "no" };
 >"no" : "no"
 
 type YesNo = Choice.Yes | Choice.No;
->YesNo : YesNo
+>YesNo : Choice.Yes | Choice.No
 >Choice : any
 >Choice : any
 
 type NoYes = Choice.No | Choice.Yes;
->NoYes : NoYes
+>NoYes : Choice.Yes | Choice.No
 >Choice : any
 >Choice : any
 
 type UnknownYesNo = Choice.Unknown | Choice.Yes | Choice.No;
->UnknownYesNo : UnknownYesNo
+>UnknownYesNo : Choice
 >Choice : any
 >Choice : any
 >Choice : any
@@ -280,7 +280,7 @@ function f13(x: UnknownYesNo) {
 }
 
 type Item =
->Item : Item
+>Item : { kind: Choice.Yes; a: string; } | { kind: Choice.No; b: string; }
 
     { kind: Choice.Yes, a: string } |
 >kind : Choice.Yes
diff --git a/tests/baselines/reference/stringEnumLiteralTypes2.types b/tests/baselines/reference/stringEnumLiteralTypes2.types
index f4dd211517ade..e44e24c55fa16 100644
--- a/tests/baselines/reference/stringEnumLiteralTypes2.types
+++ b/tests/baselines/reference/stringEnumLiteralTypes2.types
@@ -9,17 +9,17 @@ const enum Choice { Unknown = "", Yes = "yes", No = "no" };
 >"no" : "no"
 
 type YesNo = Choice.Yes | Choice.No;
->YesNo : YesNo
+>YesNo : Choice.Yes | Choice.No
 >Choice : any
 >Choice : any
 
 type NoYes = Choice.No | Choice.Yes;
->NoYes : NoYes
+>NoYes : Choice.Yes | Choice.No
 >Choice : any
 >Choice : any
 
 type UnknownYesNo = Choice.Unknown | Choice.Yes | Choice.No;
->UnknownYesNo : UnknownYesNo
+>UnknownYesNo : Choice
 >Choice : any
 >Choice : any
 >Choice : any
@@ -280,7 +280,7 @@ function f13(x: UnknownYesNo) {
 }
 
 type Item =
->Item : Item
+>Item : { kind: Choice.Yes; a: string; } | { kind: Choice.No; b: string; }
 
     { kind: Choice.Yes, a: string } |
 >kind : Choice.Yes
diff --git a/tests/baselines/reference/stringEnumLiteralTypes3.types b/tests/baselines/reference/stringEnumLiteralTypes3.types
index c3c1fb30e2a07..c286680e4245f 100644
--- a/tests/baselines/reference/stringEnumLiteralTypes3.types
+++ b/tests/baselines/reference/stringEnumLiteralTypes3.types
@@ -13,17 +13,17 @@ type Yes = Choice.Yes;
 >Choice : any
 
 type YesNo = Choice.Yes | Choice.No;
->YesNo : YesNo
+>YesNo : Choice.Yes | Choice.No
 >Choice : any
 >Choice : any
 
 type NoYes = Choice.No | Choice.Yes;
->NoYes : NoYes
+>NoYes : Choice.Yes | Choice.No
 >Choice : any
 >Choice : any
 
 type UnknownYesNo = Choice.Unknown | Choice.Yes | Choice.No;
->UnknownYesNo : UnknownYesNo
+>UnknownYesNo : Choice
 >Choice : any
 >Choice : any
 >Choice : any
diff --git a/tests/baselines/reference/stringLiteralCheckedInIf01.types b/tests/baselines/reference/stringLiteralCheckedInIf01.types
index b63fadb8076ef..c6e83c0af7baa 100644
--- a/tests/baselines/reference/stringLiteralCheckedInIf01.types
+++ b/tests/baselines/reference/stringLiteralCheckedInIf01.types
@@ -1,9 +1,9 @@
 === tests/cases/conformance/types/stringLiteral/stringLiteralCheckedInIf01.ts ===
 type S = "a" | "b";
->S : S
+>S : "a" | "b"
 
 type T = S[] | S;
->T : T
+>T : S | S[]
 
 function f(foo: T) {
 >f : (foo: T) => S
diff --git a/tests/baselines/reference/stringLiteralCheckedInIf02.types b/tests/baselines/reference/stringLiteralCheckedInIf02.types
index 8056c2dd43a27..760e48d24f850 100644
--- a/tests/baselines/reference/stringLiteralCheckedInIf02.types
+++ b/tests/baselines/reference/stringLiteralCheckedInIf02.types
@@ -1,9 +1,9 @@
 === tests/cases/conformance/types/stringLiteral/stringLiteralCheckedInIf02.ts ===
 type S = "a" | "b";
->S : S
+>S : "a" | "b"
 
 type T = S[] | S;
->T : T
+>T : S | S[]
 
 function isS(t: T): t is S {
 >isS : (t: T) => t is S
diff --git a/tests/baselines/reference/stringLiteralMatchedInSwitch01.types b/tests/baselines/reference/stringLiteralMatchedInSwitch01.types
index 144550eaa0eb9..44775223596c6 100644
--- a/tests/baselines/reference/stringLiteralMatchedInSwitch01.types
+++ b/tests/baselines/reference/stringLiteralMatchedInSwitch01.types
@@ -1,9 +1,9 @@
 === tests/cases/conformance/types/stringLiteral/stringLiteralMatchedInSwitch01.ts ===
 type S = "a" | "b";
->S : S
+>S : "a" | "b"
 
 type T = S[] | S;
->T : T
+>T : S | S[]
 
 var foo: T;
 >foo : T
diff --git a/tests/baselines/reference/stringLiteralTypeAssertion01.types b/tests/baselines/reference/stringLiteralTypeAssertion01.types
index 9aba3b1aa9b6a..590d273087b4d 100644
--- a/tests/baselines/reference/stringLiteralTypeAssertion01.types
+++ b/tests/baselines/reference/stringLiteralTypeAssertion01.types
@@ -1,9 +1,9 @@
 === tests/cases/conformance/types/stringLiteral/stringLiteralTypeAssertion01.ts ===
 type S = "a" | "b";
->S : S
+>S : "a" | "b"
 
 type T = S[] | S;
->T : T
+>T : S | S[]
 
 var s: S;
 >s : S
diff --git a/tests/baselines/reference/stringLiteralTypesAndTuples01.types b/tests/baselines/reference/stringLiteralTypesAndTuples01.types
index a3e3fc5bd7ae1..24e0a732165f2 100644
--- a/tests/baselines/reference/stringLiteralTypesAndTuples01.types
+++ b/tests/baselines/reference/stringLiteralTypesAndTuples01.types
@@ -12,7 +12,7 @@ let [hello, brave, newish, world] = ["Hello", "Brave", "New", "World"];
 >"World" : "World"
 
 type RexOrRaptor = "t-rex" | "raptor"
->RexOrRaptor : RexOrRaptor
+>RexOrRaptor : "t-rex" | "raptor"
 
 let [im, a, dinosaur]: ["I'm", "a", RexOrRaptor] = ['I\'m', 'a', 't-rex'];
 >im : "I'm"
diff --git a/tests/baselines/reference/stringLiteralTypesAsTags01.types b/tests/baselines/reference/stringLiteralTypesAsTags01.types
index 8a101a7a00ead..f7666d65ea6f5 100644
--- a/tests/baselines/reference/stringLiteralTypesAsTags01.types
+++ b/tests/baselines/reference/stringLiteralTypesAsTags01.types
@@ -1,6 +1,6 @@
 === tests/cases/conformance/types/stringLiteral/stringLiteralTypesAsTags01.ts ===
 type Kind = "A" | "B"
->Kind : Kind
+>Kind : "A" | "B"
 
 interface Entity {
     kind: Kind;
diff --git a/tests/baselines/reference/stringLiteralTypesAsTags02.types b/tests/baselines/reference/stringLiteralTypesAsTags02.types
index d6c183c67a465..544e3f75455c9 100644
--- a/tests/baselines/reference/stringLiteralTypesAsTags02.types
+++ b/tests/baselines/reference/stringLiteralTypesAsTags02.types
@@ -1,6 +1,6 @@
 === tests/cases/conformance/types/stringLiteral/stringLiteralTypesAsTags02.ts ===
 type Kind = "A" | "B"
->Kind : Kind
+>Kind : "A" | "B"
 
 interface Entity {
     kind: Kind;
diff --git a/tests/baselines/reference/stringLiteralTypesAsTags03.types b/tests/baselines/reference/stringLiteralTypesAsTags03.types
index 517eaab297403..f5583ebdca9f4 100644
--- a/tests/baselines/reference/stringLiteralTypesAsTags03.types
+++ b/tests/baselines/reference/stringLiteralTypesAsTags03.types
@@ -1,6 +1,6 @@
 === tests/cases/conformance/types/stringLiteral/stringLiteralTypesAsTags03.ts ===
 type Kind = "A" | "B"
->Kind : Kind
+>Kind : "A" | "B"
 
 interface Entity {
     kind: Kind;
diff --git a/tests/baselines/reference/stringLiteralTypesInUnionTypes01.types b/tests/baselines/reference/stringLiteralTypesInUnionTypes01.types
index a4d08a8d43b38..d06714e837fce 100644
--- a/tests/baselines/reference/stringLiteralTypesInUnionTypes01.types
+++ b/tests/baselines/reference/stringLiteralTypesInUnionTypes01.types
@@ -1,6 +1,6 @@
 === tests/cases/conformance/types/stringLiteral/stringLiteralTypesInUnionTypes01.ts ===
 type T = "foo" | "bar" | "baz";
->T : T
+>T : "foo" | "bar" | "baz"
 
 var x: "foo" | "bar" | "baz" = undefined;
 >x : "foo" | "bar" | "baz"
diff --git a/tests/baselines/reference/stringLiteralTypesInUnionTypes03.types b/tests/baselines/reference/stringLiteralTypesInUnionTypes03.types
index fb79356ad2a57..7db889fc0b0a0 100644
--- a/tests/baselines/reference/stringLiteralTypesInUnionTypes03.types
+++ b/tests/baselines/reference/stringLiteralTypesInUnionTypes03.types
@@ -1,6 +1,6 @@
 === tests/cases/conformance/types/stringLiteral/stringLiteralTypesInUnionTypes03.ts ===
 type T = number | "foo" | "bar";
->T : T
+>T : number | "foo" | "bar"
 
 var x: "foo" | "bar" | number;
 >x : number | "foo" | "bar"
diff --git a/tests/baselines/reference/stringLiteralTypesInUnionTypes04.types b/tests/baselines/reference/stringLiteralTypesInUnionTypes04.types
index 030b55c5e99f0..723c89ec3bdc6 100644
--- a/tests/baselines/reference/stringLiteralTypesInUnionTypes04.types
+++ b/tests/baselines/reference/stringLiteralTypesInUnionTypes04.types
@@ -1,6 +1,6 @@
 === tests/cases/conformance/types/stringLiteral/stringLiteralTypesInUnionTypes04.ts ===
 type T = "" | "foo";
->T : T
+>T : "" | "foo"
 
 let x: T = undefined;
 >x : T
diff --git a/tests/baselines/reference/stringLiteralTypesOverloads01.types b/tests/baselines/reference/stringLiteralTypesOverloads01.types
index 67437fc122ee4..c8ba27fb6824e 100644
--- a/tests/baselines/reference/stringLiteralTypesOverloads01.types
+++ b/tests/baselines/reference/stringLiteralTypesOverloads01.types
@@ -1,6 +1,6 @@
 === tests/cases/conformance/types/stringLiteral/stringLiteralTypesOverloads01.ts ===
 type PrimitiveName = 'string' | 'number' | 'boolean';
->PrimitiveName : PrimitiveName
+>PrimitiveName : "string" | "number" | "boolean"
 
 function getFalsyPrimitive(x: "string"): string;
 >getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: "string" | "number" | "boolean"): string | number | boolean; }
diff --git a/tests/baselines/reference/stringLiteralTypesTypePredicates01.types b/tests/baselines/reference/stringLiteralTypesTypePredicates01.types
index 918679081a6d8..488491554c61e 100644
--- a/tests/baselines/reference/stringLiteralTypesTypePredicates01.types
+++ b/tests/baselines/reference/stringLiteralTypesTypePredicates01.types
@@ -1,6 +1,6 @@
 === tests/cases/conformance/types/stringLiteral/stringLiteralTypesTypePredicates01.ts ===
 type Kind = "A" | "B"
->Kind : Kind
+>Kind : "A" | "B"
 
 function kindIs(kind: Kind, is: "A"): kind is "A";
 >kindIs : { (kind: Kind, is: "A"): kind is "A"; (kind: Kind, is: "B"): kind is "B"; }
diff --git a/tests/baselines/reference/stringLiteralsAssertionsInEqualityComparisons02.types b/tests/baselines/reference/stringLiteralsAssertionsInEqualityComparisons02.types
index b52ee123bb5e0..ddc068551f750 100644
--- a/tests/baselines/reference/stringLiteralsAssertionsInEqualityComparisons02.types
+++ b/tests/baselines/reference/stringLiteralsAssertionsInEqualityComparisons02.types
@@ -1,6 +1,6 @@
 === tests/cases/conformance/types/literal/stringLiteralsAssertionsInEqualityComparisons02.ts ===
 type EnhancedString = string & { enhancements: any };
->EnhancedString : EnhancedString
+>EnhancedString : string & { enhancements: any; }
 >enhancements : any
 
 var a = "foo" === "bar" as "baz";
diff --git a/tests/baselines/reference/styledComponentsInstantiaionLimitNotReached.types b/tests/baselines/reference/styledComponentsInstantiaionLimitNotReached.types
index 9d7221f7587dd..efce2c28ffdf4 100644
--- a/tests/baselines/reference/styledComponentsInstantiaionLimitNotReached.types
+++ b/tests/baselines/reference/styledComponentsInstantiaionLimitNotReached.types
@@ -156,7 +156,7 @@ type NonReactStatics<
     };
 
 export type AnyStyledComponent = StyledComponent<any, any, any, any> | StyledComponent<any, any, any>;
->AnyStyledComponent : AnyStyledComponent
+>AnyStyledComponent : StyledComponent<any, any, any, any> | StyledComponent<any, any, any, never>
 
 export type StyledComponent<
 >StyledComponent : StyledComponent<C, T, O, A>
diff --git a/tests/baselines/reference/substituteReturnTypeSatisfiesConstraint.types b/tests/baselines/reference/substituteReturnTypeSatisfiesConstraint.types
index 51f69b9fb22e7..f8d1b43eb017b 100644
--- a/tests/baselines/reference/substituteReturnTypeSatisfiesConstraint.types
+++ b/tests/baselines/reference/substituteReturnTypeSatisfiesConstraint.types
@@ -1,10 +1,10 @@
 === tests/cases/compiler/substituteReturnTypeSatisfiesConstraint.ts ===
 type M = { p: string };
->M : M
+>M : { p: string; }
 >p : string
 
 type O = { m: () => M };
->O : O
+>O : { m: () => M; }
 >m : () => M
 
 type X<T extends M> = T;
diff --git a/tests/baselines/reference/substitutionTypesCompareCorrectlyInRestrictiveInstances.types b/tests/baselines/reference/substitutionTypesCompareCorrectlyInRestrictiveInstances.types
index 87cea0ef45018..f930d8eca9bca 100644
--- a/tests/baselines/reference/substitutionTypesCompareCorrectlyInRestrictiveInstances.types
+++ b/tests/baselines/reference/substitutionTypesCompareCorrectlyInRestrictiveInstances.types
@@ -9,12 +9,12 @@ type Bug<TAll> =  BugHelper<TAll, TAll>
 >Bug : Bug<TAll>
 
 type Q = UnionKeys<{ a : any } | { b: any }>    // should be "a" | "b"
->Q : Q
+>Q : "a" | "b"
 >a : any
 >b : any
 
 type R = Bug<{ a : any } | { b: any }>          // should be "a" | "b"
->R : R
+>R : "a" | "b"
 >a : any
 >b : any
 
diff --git a/tests/baselines/reference/substitutionTypesInIndexedAccessTypes.types b/tests/baselines/reference/substitutionTypesInIndexedAccessTypes.types
index df7e4af01e618..a0df1acaa22df 100644
--- a/tests/baselines/reference/substitutionTypesInIndexedAccessTypes.types
+++ b/tests/baselines/reference/substitutionTypesInIndexedAccessTypes.types
@@ -2,7 +2,7 @@
 // Repro from #31086
 
 type UserArgs = {
->UserArgs : UserArgs
+>UserArgs : { select?: boolean | undefined; }
 
   select?: boolean
 >select : boolean | undefined
diff --git a/tests/baselines/reference/symbolLinkDeclarationEmitModuleNames.types b/tests/baselines/reference/symbolLinkDeclarationEmitModuleNames.types
index 9a5df469be818..8ce93eeca0143 100644
--- a/tests/baselines/reference/symbolLinkDeclarationEmitModuleNames.types
+++ b/tests/baselines/reference/symbolLinkDeclarationEmitModuleNames.types
@@ -3,7 +3,7 @@ import { Constructor } from "@loopback/context";
 >Constructor : any
 
 export type ControllerClass = Constructor<any>;
->ControllerClass : ControllerClass
+>ControllerClass : (...args: any[]) => any
 
 === tests/cases/compiler/monorepo/core/src/usage.ts ===
 import { ControllerClass } from './application';
diff --git a/tests/baselines/reference/symbolLinkDeclarationEmitModuleNamesRootDir.types b/tests/baselines/reference/symbolLinkDeclarationEmitModuleNamesRootDir.types
index f858acad1ac57..65d13ba0473d1 100644
--- a/tests/baselines/reference/symbolLinkDeclarationEmitModuleNamesRootDir.types
+++ b/tests/baselines/reference/symbolLinkDeclarationEmitModuleNamesRootDir.types
@@ -27,7 +27,7 @@ import { Constructor } from "@loopback/context";
 >Constructor : any
 
 export type ControllerClass = Constructor<any>;
->ControllerClass : ControllerClass
+>ControllerClass : (...args: any[]) => any
 
 === tests/cases/compiler/monorepo/core/src/usage.ts ===
 import { ControllerClass } from './application';
diff --git a/tests/baselines/reference/symbolMergeValueAndImportedType.types b/tests/baselines/reference/symbolMergeValueAndImportedType.types
index 2c6e728ac1e0d..b588605962475 100644
--- a/tests/baselines/reference/symbolMergeValueAndImportedType.types
+++ b/tests/baselines/reference/symbolMergeValueAndImportedType.types
@@ -17,5 +17,5 @@ console.log('X is ' + X);
 
 === tests/cases/compiler/other.ts ===
 export type X = {};
->X : X
+>X : {}
 
diff --git a/tests/baselines/reference/taggedPrimitiveNarrowing.types b/tests/baselines/reference/taggedPrimitiveNarrowing.types
index c26e4174b593d..fb9d6053997c8 100644
--- a/tests/baselines/reference/taggedPrimitiveNarrowing.types
+++ b/tests/baselines/reference/taggedPrimitiveNarrowing.types
@@ -1,6 +1,6 @@
 === tests/cases/compiler/taggedPrimitiveNarrowing.ts ===
 type Hash = string & { __hash: true };
->Hash : Hash
+>Hash : string & { __hash: true; }
 >__hash : true
 >true : true
 
diff --git a/tests/baselines/reference/taggedTemplateContextualTyping1.types b/tests/baselines/reference/taggedTemplateContextualTyping1.types
index 84af70b5b88cd..1d196fd5155e6 100644
--- a/tests/baselines/reference/taggedTemplateContextualTyping1.types
+++ b/tests/baselines/reference/taggedTemplateContextualTyping1.types
@@ -1,6 +1,6 @@
 === tests/cases/conformance/expressions/contextualTyping/taggedTemplateContextualTyping1.ts ===
 type FuncType = (x: <T>(p: T) => T) => typeof x;
->FuncType : FuncType
+>FuncType : (x: <T>(p: T) => T) => <T>(p: T) => T
 >x : <T>(p: T) => T
 >p : T
 >x : <T>(p: T) => T
diff --git a/tests/baselines/reference/taggedTemplateContextualTyping2.types b/tests/baselines/reference/taggedTemplateContextualTyping2.types
index d182bb526a882..46e4332e208b6 100644
--- a/tests/baselines/reference/taggedTemplateContextualTyping2.types
+++ b/tests/baselines/reference/taggedTemplateContextualTyping2.types
@@ -1,12 +1,12 @@
 === tests/cases/conformance/expressions/contextualTyping/taggedTemplateContextualTyping2.ts ===
 type FuncType1 = (x: <T>(p: T) => T) => typeof x;
->FuncType1 : FuncType1
+>FuncType1 : (x: <T>(p: T) => T) => <T>(p: T) => T
 >x : <T>(p: T) => T
 >p : T
 >x : <T>(p: T) => T
 
 type FuncType2 = (x: <S, T>(p: T) => T) => typeof x;
->FuncType2 : FuncType2
+>FuncType2 : (x: <S, T>(p: T) => T) => <S, T>(p: T) => T
 >x : <S, T>(p: T) => T
 >p : T
 >x : <S, T>(p: T) => T
diff --git a/tests/baselines/reference/templateLiteralIntersection.types b/tests/baselines/reference/templateLiteralIntersection.types
index d675ad0e0eb74..b305f6677740f 100644
--- a/tests/baselines/reference/templateLiteralIntersection.types
+++ b/tests/baselines/reference/templateLiteralIntersection.types
@@ -9,7 +9,7 @@ type A = typeof a
 >a : "a"
 
 type MixA = A & {foo: string}
->MixA : MixA
+>MixA : "a" & { foo: string; }
 >foo : string
 
 type OriginA1 = `${A}`
@@ -23,7 +23,7 @@ type B = `${typeof a}`
 >a : "a"
 
 type MixB = B & { foo: string }
->MixB : MixB
+>MixB : "a" & { foo: string; }
 >foo : string
 
 type OriginB1 = `${B}`
@@ -33,7 +33,7 @@ type OriginB2 = `${MixB}`
 >OriginB2 : "a"
 
 type MixC = { foo: string } & A
->MixC : MixC
+>MixC : { foo: string; } & "a"
 >foo : string
 
 type OriginC = `${MixC}`
@@ -54,7 +54,7 @@ type E = `${A & {}}`;
 >E : "a"
 
 type MixE = E & {}
->MixE : MixE
+>MixE : "a" & {}
 
 type OriginE = `${MixE}`
 >OriginE : "a"
diff --git a/tests/baselines/reference/templateLiteralTypes1.types b/tests/baselines/reference/templateLiteralTypes1.types
index d143dc764ca09..fed8939ea7605 100644
--- a/tests/baselines/reference/templateLiteralTypes1.types
+++ b/tests/baselines/reference/templateLiteralTypes1.types
@@ -197,7 +197,7 @@ type T27 = FirstTwoAndRest<'a'>;  // unknown
 >T27 : unknown
 
 type HexDigit = '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' |'8' | '9' | 'A' | 'B' | 'C' | 'D' | 'E' | 'F' | 'a' | 'b' | 'c' | 'd' | 'e' | 'f';
->HexDigit : HexDigit
+>HexDigit : "0" | "4" | "1" | "2" | "a" | "b" | "3" | "5" | "6" | "7" | "8" | "9" | "A" | "B" | "C" | "D" | "E" | "F" | "c" | "d" | "e" | "f"
 
 type HexColor<S extends string> =
 >HexColor : HexColor<S>
@@ -436,7 +436,7 @@ type A = any;
 >A : any
 
 type U1 = {a1:A} | {b1:A} | {c1:A} | {d1:A} | {e1:A} | {f1:A} | {g1:A} | {h1:A} | {i1:A} | {j1:A};
->U1 : U1
+>U1 : { a1: A; } | { b1: A; } | { c1: A; } | { d1: A; } | { e1: A; } | { f1: A; } | { g1: A; } | { h1: A; } | { i1: A; } | { j1: A; }
 >a1 : any
 >b1 : any
 >c1 : any
@@ -449,7 +449,7 @@ type U1 = {a1:A} | {b1:A} | {c1:A} | {d1:A} | {e1:A} | {f1:A} | {g1:A} | {h1:A}
 >j1 : any
 
 type U2 = {a2:A} | {b2:A} | {c2:A} | {d2:A} | {e2:A} | {f2:A} | {g2:A} | {h2:A} | {i2:A} | {j2:A};
->U2 : U2
+>U2 : { a2: A; } | { b2: A; } | { c2: A; } | { d2: A; } | { e2: A; } | { f2: A; } | { g2: A; } | { h2: A; } | { i2: A; } | { j2: A; }
 >a2 : any
 >b2 : any
 >c2 : any
@@ -462,7 +462,7 @@ type U2 = {a2:A} | {b2:A} | {c2:A} | {d2:A} | {e2:A} | {f2:A} | {g2:A} | {h2:A}
 >j2 : any
 
 type U3 = {a3:A} | {b3:A} | {c3:A} | {d3:A} | {e3:A} | {f3:A} | {g3:A} | {h3:A} | {i3:A} | {j3:A};
->U3 : U3
+>U3 : { a3: A; } | { b3: A; } | { c3: A; } | { d3: A; } | { e3: A; } | { f3: A; } | { g3: A; } | { h3: A; } | { i3: A; } | { j3: A; }
 >a3 : any
 >b3 : any
 >c3 : any
@@ -475,7 +475,7 @@ type U3 = {a3:A} | {b3:A} | {c3:A} | {d3:A} | {e3:A} | {f3:A} | {g3:A} | {h3:A}
 >j3 : any
 
 type U4 = {a4:A} | {b4:A} | {c4:A} | {d4:A} | {e4:A} | {f4:A} | {g4:A} | {h4:A} | {i4:A} | {j4:A};
->U4 : U4
+>U4 : { a4: A; } | { b4: A; } | { c4: A; } | { d4: A; } | { e4: A; } | { f4: A; } | { g4: A; } | { h4: A; } | { i4: A; } | { j4: A; }
 >a4 : any
 >b4 : any
 >c4 : any
@@ -488,7 +488,7 @@ type U4 = {a4:A} | {b4:A} | {c4:A} | {d4:A} | {e4:A} | {f4:A} | {g4:A} | {h4:A}
 >j4 : any
 
 type U5 = {a5:A} | {b5:A} | {c5:A} | {d5:A} | {e5:A} | {f5:A} | {g5:A} | {h5:A} | {i5:A} | {j5:A};
->U5 : U5
+>U5 : { a5: A; } | { b5: A; } | { c5: A; } | { d5: A; } | { e5: A; } | { f5: A; } | { g5: A; } | { h5: A; } | { i5: A; } | { j5: A; }
 >a5 : any
 >b5 : any
 >c5 : any
@@ -504,13 +504,13 @@ type U100000 = U1 & U2 & U3 & U4 & U5;  // Error
 >U100000 : any
 
 type Digits = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9;
->Digits : Digits
+>Digits : 0 | 1 | 4 | 2 | 3 | 6 | 5 | 7 | 8 | 9
 
 type D100000 = `${Digits}${Digits}${Digits}${Digits}${Digits}`;  // Error
 >D100000 : any
 
 type TDigits = [0] | [1] | [2] | [3] | [4] | [5] | [6] | [7] | [8] | [9];
->TDigits : TDigits
+>TDigits : [4] | [0] | [1] | [2] | [3] | [5] | [6] | [7] | [8] | [9]
 
 type T100000 = [...TDigits, ...TDigits, ...TDigits, ...TDigits, ...TDigits];  // Error
 >T100000 : any
@@ -597,7 +597,7 @@ let make = getProp2(obj2, 'cars.1.make');  // 'Trabant'
 // Repro from #46480
 
 export type Spacing =
->Spacing : Spacing
+>Spacing : "0" | `${number}px` | `${number}rem` | "s1" | "s4" | "s2" | "s3" | "s6" | "s5" | "s7" | "s8" | "s18" | "s9" | "s10" | "s11" | "s12" | "s13" | "s14" | "s15" | "s16" | "s17" | "s19" | "s20"
 
     | `0`
     | `${number}px`
diff --git a/tests/baselines/reference/templateLiteralTypes3.types b/tests/baselines/reference/templateLiteralTypes3.types
index 27d780c7e22ac..66a36048f07af 100644
--- a/tests/baselines/reference/templateLiteralTypes3.types
+++ b/tests/baselines/reference/templateLiteralTypes3.types
@@ -32,10 +32,10 @@ type T09 = Foo1<`**${string}**${string}**`>;
 >T09 : `*${string}**${string}*`
 
 type T10 = Foo1<`**${'a' | 'b' | 'c'}**`>;
->T10 : T10
+>T10 : "*a*" | "*b*" | "*c*"
 
 type T11 = Foo1<`**${boolean}**${boolean}**`>;
->T11 : T11
+>T11 : "*false**false*" | "*false**true*" | "*true**false*" | "*true**true*"
 
 declare function foo1<V extends string>(arg: `*${V}*`): V;
 >foo1 : <V extends string>(arg: `*${V}*`) => V
@@ -366,10 +366,10 @@ const templated2: Templated = `${value2} abc` as const;
 // Repro from #43620
 
 type Prefixes = "foo" | "bar";
->Prefixes : Prefixes
+>Prefixes : "foo" | "bar"
 
 type AllPrefixData = "foo:baz" | "bar:baz";
->AllPrefixData : AllPrefixData
+>AllPrefixData : "foo:baz" | "bar:baz"
 
 type PrefixData<P extends Prefixes> = `${P}:baz`;
 >PrefixData : `${P}:baz`
@@ -382,7 +382,7 @@ interface ITest<P extends Prefixes, E extends AllPrefixData = PrefixData<P>> {
 // Repro from #45906
 
 type Schema = { a: { b: { c: number } } };
->Schema : Schema
+>Schema : { a: {    b: {        c: number;    };}; }
 >a : { b: {    c: number;}; }
 >b : { c: number; }
 >c : number
@@ -481,7 +481,7 @@ function ff4(x: string, y: `foo-${string}`) {
 // Repro from #46045
 
 type Action =
->Action : Action
+>Action : { type: `${string}_REQUEST`; } | { type: `${string}_SUCCESS`; response: string; }
 
     | { type: `${string}_REQUEST` }
 >type : `${string}_REQUEST`
diff --git a/tests/baselines/reference/thisTypeInObjectLiterals2.types b/tests/baselines/reference/thisTypeInObjectLiterals2.types
index 227be40f79f39..3777ded41acaf 100644
--- a/tests/baselines/reference/thisTypeInObjectLiterals2.types
+++ b/tests/baselines/reference/thisTypeInObjectLiterals2.types
@@ -72,7 +72,7 @@ let obj1 = {
 // contextual type.
 
 type Point = {
->Point : Point
+>Point : { x: number; y: number; z?: number | undefined; moveBy(dx: number, dy: number, dz?: number | undefined): void; }
 
     x: number;
 >x : number
diff --git a/tests/baselines/reference/tryCatchFinallyControlFlow.types b/tests/baselines/reference/tryCatchFinallyControlFlow.types
index b5fb0cf95cc8c..ab2bae77befc2 100644
--- a/tests/baselines/reference/tryCatchFinallyControlFlow.types
+++ b/tests/baselines/reference/tryCatchFinallyControlFlow.types
@@ -592,7 +592,7 @@ function t1() {
 // Repro from #39043
 
 type State = { tag: "one" } | { tag: "two" } | { tag: "three" };
->State : State
+>State : { tag: "one"; } | { tag: "two"; } | { tag: "three"; }
 >tag : "one"
 >tag : "two"
 >tag : "three"
diff --git a/tests/baselines/reference/tsxAttributeResolution16.types b/tests/baselines/reference/tsxAttributeResolution16.types
index cd7ffb467683e..16e84687bbf11 100644
--- a/tests/baselines/reference/tsxAttributeResolution16.types
+++ b/tests/baselines/reference/tsxAttributeResolution16.types
@@ -21,7 +21,7 @@ interface AmericanAddress extends Address {
 }
 
 type Properties = CanadianAddress | AmericanAddress;
->Properties : Properties
+>Properties : CanadianAddress | AmericanAddress
 
 export class AddressComp extends React.Component<Properties, void> {
 >AddressComp : AddressComp
diff --git a/tests/baselines/reference/tsxAttributesHasInferrableIndex.types b/tests/baselines/reference/tsxAttributesHasInferrableIndex.types
index 25e76e39628ac..81e88424a5478 100644
--- a/tests/baselines/reference/tsxAttributesHasInferrableIndex.types
+++ b/tests/baselines/reference/tsxAttributesHasInferrableIndex.types
@@ -1,6 +1,6 @@
 === tests/cases/compiler/tsxAttributesHasInferrableIndex.tsx ===
 type AttributeValue = number | string | Date | boolean;
->AttributeValue : AttributeValue
+>AttributeValue : string | number | boolean | Date
 
 interface Attributes {
     [key: string]: AttributeValue;
diff --git a/tests/baselines/reference/tsxDiscriminantPropertyInference.types b/tests/baselines/reference/tsxDiscriminantPropertyInference.types
index 63932bd18d963..0bd5fcd52890a 100644
--- a/tests/baselines/reference/tsxDiscriminantPropertyInference.types
+++ b/tests/baselines/reference/tsxDiscriminantPropertyInference.types
@@ -5,7 +5,7 @@ namespace JSX {
 }
 
 type DiscriminatorTrue = {
->DiscriminatorTrue : DiscriminatorTrue
+>DiscriminatorTrue : { disc: true; cb: (x: string) => void; }
 
     disc: true;
 >disc : true
@@ -17,7 +17,7 @@ type DiscriminatorTrue = {
 }
 
 type DiscriminatorFalse = {
->DiscriminatorFalse : DiscriminatorFalse
+>DiscriminatorFalse : { disc?: false | undefined; cb: (x: number) => void; }
 
     disc?: false;
 >disc : false | undefined
@@ -29,7 +29,7 @@ type DiscriminatorFalse = {
 }
 
 type Props = DiscriminatorTrue | DiscriminatorFalse;
->Props : Props
+>Props : DiscriminatorTrue | DiscriminatorFalse
 
 declare function Comp(props: DiscriminatorTrue | DiscriminatorFalse): JSX.Element;
 >Comp : (props: DiscriminatorTrue | DiscriminatorFalse) => JSX.Element
diff --git a/tests/baselines/reference/tsxLibraryManagedAttributes.types b/tests/baselines/reference/tsxLibraryManagedAttributes.types
index b6e54f2be01c1..10a67a7dbec09 100644
--- a/tests/baselines/reference/tsxLibraryManagedAttributes.types
+++ b/tests/baselines/reference/tsxLibraryManagedAttributes.types
@@ -48,7 +48,7 @@ declare namespace PropTypes {
 }
 
 type ReactNode = string | number | ReactComponent<{}, {}>;
->ReactNode : ReactNode
+>ReactNode : string | number | ReactComponent<{}, {}>
 
 declare class ReactComponent<P={}, S={}> {
 >ReactComponent : ReactComponent<P, S>
diff --git a/tests/baselines/reference/tsxSpreadAttributesResolution6.types b/tests/baselines/reference/tsxSpreadAttributesResolution6.types
index f8abfc34b2301..e2ab1cfd1464f 100644
--- a/tests/baselines/reference/tsxSpreadAttributesResolution6.types
+++ b/tests/baselines/reference/tsxSpreadAttributesResolution6.types
@@ -3,7 +3,7 @@ import React = require('react');
 >React : typeof React
 
 type TextProps = { editable: false }
->TextProps : TextProps
+>TextProps : { editable: false; } | { editable: true; onEdit: (newText: string) => void; }
 >editable : false
 >false : false
 
diff --git a/tests/baselines/reference/tsxSpreadAttributesResolution7.types b/tests/baselines/reference/tsxSpreadAttributesResolution7.types
index 532a6a73b494e..f2a94ac6b71a0 100644
--- a/tests/baselines/reference/tsxSpreadAttributesResolution7.types
+++ b/tests/baselines/reference/tsxSpreadAttributesResolution7.types
@@ -3,7 +3,7 @@ import React = require('react');
 >React : typeof React
 
 type TextProps = { editable: false }
->TextProps : TextProps
+>TextProps : { editable: false; } | { editable: true; onEdit: (newText: string) => void; }
 >editable : false
 >false : false
 
diff --git a/tests/baselines/reference/tsxTypeArgumentsJsxPreserveOutput.types b/tests/baselines/reference/tsxTypeArgumentsJsxPreserveOutput.types
index a03c907d3bbf2..4db5e2ee6faaa 100644
--- a/tests/baselines/reference/tsxTypeArgumentsJsxPreserveOutput.types
+++ b/tests/baselines/reference/tsxTypeArgumentsJsxPreserveOutput.types
@@ -3,7 +3,7 @@ import React = require('react');
 >React : typeof React
 
 type TypeProps = { foo?: boolean; };
->TypeProps : TypeProps
+>TypeProps : { foo?: boolean; }
 >foo : boolean
 
 interface InterfaceProps { foo?: boolean; }
diff --git a/tests/baselines/reference/tsxUnionSpread.types b/tests/baselines/reference/tsxUnionSpread.types
index f03fef7837730..def68a2e87682 100644
--- a/tests/baselines/reference/tsxUnionSpread.types
+++ b/tests/baselines/reference/tsxUnionSpread.types
@@ -4,16 +4,16 @@ namespace JSX {
 }
 
 export type CatInfo = { type: 'Cat'; subType: string; };
->CatInfo : CatInfo
+>CatInfo : { type: 'Cat'; subType: string; }
 >type : "Cat"
 >subType : string
 
 export type DogInfo = { type: 'Dog'; };
->DogInfo : DogInfo
+>DogInfo : { type: 'Dog'; }
 >type : "Dog"
 
 export type AnimalInfo = CatInfo | DogInfo;
->AnimalInfo : AnimalInfo
+>AnimalInfo : CatInfo | DogInfo
 
 function AnimalComponent(info: AnimalInfo): JSX.Element {
 >AnimalComponent : (info: AnimalInfo) => JSX.Element
diff --git a/tests/baselines/reference/tsxUnionTypeComponent2.types b/tests/baselines/reference/tsxUnionTypeComponent2.types
index e8ca5d6af5505..f03c9bf35986d 100644
--- a/tests/baselines/reference/tsxUnionTypeComponent2.types
+++ b/tests/baselines/reference/tsxUnionTypeComponent2.types
@@ -3,7 +3,7 @@ import React = require('react');
 >React : typeof React
 
 type Invalid1 = React.ComponentClass<any> | number;
->Invalid1 : Invalid1
+>Invalid1 : number | React.ComponentClass<any>
 >React : any
 
 const X: Invalid1 = 1;
diff --git a/tests/baselines/reference/tupleTypes.types b/tests/baselines/reference/tupleTypes.types
index a1b0a345f00f1..ba2654609c181 100644
--- a/tests/baselines/reference/tupleTypes.types
+++ b/tests/baselines/reference/tupleTypes.types
@@ -227,7 +227,7 @@ a3 = a2;
 >a2 : [number, number]
 
 type B = Pick<[number], 'length'>;
->B : B
+>B : { length: 1; }
 
 declare const b: B;
 >b : B
diff --git a/tests/baselines/reference/typeAliasDoesntMakeModuleInstantiated.types b/tests/baselines/reference/typeAliasDoesntMakeModuleInstantiated.types
index 76d0aa9a96bda..532fef8e8cf47 100644
--- a/tests/baselines/reference/typeAliasDoesntMakeModuleInstantiated.types
+++ b/tests/baselines/reference/typeAliasDoesntMakeModuleInstantiated.types
@@ -2,7 +2,7 @@
 declare module m {
     // type alias declaration here shouldnt make the module declaration instantiated
     type Selector = string| string[] |Function;
->Selector : Selector
+>Selector : string | Function | string[]
 
     export interface IStatic {
         (selector: any /* Selector */): IInstance;
diff --git a/tests/baselines/reference/typeAliasFunctionTypeSharedSymbol.types b/tests/baselines/reference/typeAliasFunctionTypeSharedSymbol.types
index 454ae1513e117..e028a8c4c0869 100644
--- a/tests/baselines/reference/typeAliasFunctionTypeSharedSymbol.types
+++ b/tests/baselines/reference/typeAliasFunctionTypeSharedSymbol.types
@@ -22,5 +22,5 @@ type ReturnTypeOf<V> = V extends (...args: any[])=>infer R ? R : never;
 >args : any[]
 
 type Crashes = number & Mixin;
->Crashes : Crashes
+>Crashes : number & { new (...args: any[]): Mixin<new (...args: any[]) => {}>.(Anonymous class); prototype: Mixin<any>.(Anonymous class); } & (new (...args: any[]) => {})
 
diff --git a/tests/baselines/reference/typeAliases.types b/tests/baselines/reference/typeAliases.types
index e884529260e97..be734e51a0b2d 100644
--- a/tests/baselines/reference/typeAliases.types
+++ b/tests/baselines/reference/typeAliases.types
@@ -72,7 +72,7 @@ var x7: T7;
 >x7 : C7
 
 type T8 = string | boolean;
->T8 : T8
+>T8 : string | boolean
 
 var x8: string | boolean;
 >x8 : string | boolean
@@ -81,7 +81,7 @@ var x8: T8;
 >x8 : string | boolean
 
 type T9 = () => string;
->T9 : T9
+>T9 : () => string
 
 var x9: () => string;
 >x9 : () => string
@@ -90,7 +90,7 @@ var x9: T9;
 >x9 : () => string
 
 type T10 = { x: number };
->T10 : T10
+>T10 : { x: number; }
 >x : number
 
 var x10: { x: number };
@@ -101,7 +101,7 @@ var x10: T10;
 >x10 : { x: number; }
 
 type T11 = { new(): boolean };
->T11 : T11
+>T11 : new () => boolean
 
 var x11: { new(): boolean };
 >x11 : new () => boolean
@@ -183,7 +183,7 @@ f15(E.x).toLowerCase();
 >toLowerCase : () => string
 
 type StringAndBoolean = [string, boolean]
->StringAndBoolean : StringAndBoolean
+>StringAndBoolean : [string, boolean]
 
 declare function f16(s: StringAndBoolean): string;
 >f16 : (s: StringAndBoolean) => string
diff --git a/tests/baselines/reference/typeAliasesForObjectTypes.types b/tests/baselines/reference/typeAliasesForObjectTypes.types
index b18b3159fe064..bbc5433da327c 100644
--- a/tests/baselines/reference/typeAliasesForObjectTypes.types
+++ b/tests/baselines/reference/typeAliasesForObjectTypes.types
@@ -1,6 +1,6 @@
 === tests/cases/conformance/types/typeAliases/typeAliasesForObjectTypes.ts ===
 type T1 = { x: string }
->T1 : T1
+>T1 : { x: string; }
 >x : string
 
 // An interface can be named in an extends or implements clause, but a type alias for an object type literal cannot.
@@ -16,7 +16,7 @@ class C1 implements T1 {
 
 // An interface can have multiple merged declarations, but a type alias for an object type literal cannot.
 type T2 = { x: string }
->T2 : T2
+>T2 : { x: string; }
 >x : string
 
 type T2 = { y: number }
diff --git a/tests/baselines/reference/typeArgumentInferenceWithRecursivelyReferencedTypeAliasToTypeLiteral01.types b/tests/baselines/reference/typeArgumentInferenceWithRecursivelyReferencedTypeAliasToTypeLiteral01.types
index 2c1279b6170f5..62af144e81cd5 100644
--- a/tests/baselines/reference/typeArgumentInferenceWithRecursivelyReferencedTypeAliasToTypeLiteral01.types
+++ b/tests/baselines/reference/typeArgumentInferenceWithRecursivelyReferencedTypeAliasToTypeLiteral01.types
@@ -1,6 +1,6 @@
 === tests/cases/compiler/typeArgumentInferenceWithRecursivelyReferencedTypeAliasToTypeLiteral01.ts ===
 type TreeNode = {
->TreeNode : TreeNode
+>TreeNode : { name: string; parent: TreeNode; }
 
     name: string;
 >name : string
diff --git a/tests/baselines/reference/typeArgumentInferenceWithRecursivelyReferencedTypeAliasToTypeLiteral02.types b/tests/baselines/reference/typeArgumentInferenceWithRecursivelyReferencedTypeAliasToTypeLiteral02.types
index 5a0765560b2ec..597064010c0e5 100644
--- a/tests/baselines/reference/typeArgumentInferenceWithRecursivelyReferencedTypeAliasToTypeLiteral02.types
+++ b/tests/baselines/reference/typeArgumentInferenceWithRecursivelyReferencedTypeAliasToTypeLiteral02.types
@@ -1,6 +1,6 @@
 === tests/cases/compiler/typeArgumentInferenceWithRecursivelyReferencedTypeAliasToTypeLiteral02.ts ===
 type TreeNode = {
->TreeNode : TreeNode
+>TreeNode : { name: string; parent: TreeNode; }
 
     name: string;
 >name : string
@@ -10,7 +10,7 @@ type TreeNode = {
 }
 
 type TreeNodeMiddleman = {
->TreeNodeMiddleman : TreeNodeMiddleman
+>TreeNodeMiddleman : { name: string; parent: TreeNode; }
 
     name: string;
 >name : string
diff --git a/tests/baselines/reference/typeGuardFunctionErrors.types b/tests/baselines/reference/typeGuardFunctionErrors.types
index 53fd02acdc707..dd0d8929c1eda 100644
--- a/tests/baselines/reference/typeGuardFunctionErrors.types
+++ b/tests/baselines/reference/typeGuardFunctionErrors.types
@@ -343,7 +343,7 @@ if (hasMissingParameter()) {
 // repro #17297
 
 type Keys = 'a'|'b'|'c'
->Keys : Keys
+>Keys : "a" | "b" | "c"
 
 type KeySet<T extends Keys> = { [k in T]: true }
 >KeySet : KeySet<T>
@@ -355,11 +355,11 @@ declare function hasKey<T extends Keys>(x: KeySet<T>): x is KeySet<T|'d'>;
 >x : KeySet<T>
 
 type Foo = { 'a': string; }
->Foo : Foo
+>Foo : { a: string; }
 >'a' : string
 
 type Bar = { 'a': number; }
->Bar : Bar
+>Bar : { a: number; }
 >'a' : number
 
 interface NeedsFoo<T extends Foo> {
diff --git a/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty1.types b/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty1.types
index ee4fc6c2ec9c8..0e66a773604be 100644
--- a/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty1.types
+++ b/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty1.types
@@ -28,7 +28,7 @@ interface Square {
 >radius : number
 }
  type Shape = Square | Rectangle | Circle;
->Shape : Shape
+>Shape : Square | Rectangle | Circle
 
 interface Subshape {
     "0": {
@@ -208,16 +208,16 @@ interface Y {
 }
 
 type A = ["aa", number];
->A : A
+>A : ["aa", number]
 
 type B = ["bb", string];
->B : B
+>B : ["bb", string]
 
 type Z = X | Y;
->Z : Z
+>Z : X | Y
 
 type C = A | B;
->C : C
+>C : A | B
 
 function check(z: Z, c: C) {
 >check : (z: Z, c: C) => void
diff --git a/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty3.types b/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty3.types
index b4c751d074398..4052ca4ac5ba9 100644
--- a/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty3.types
+++ b/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty3.types
@@ -1,6 +1,6 @@
 === tests/cases/compiler/typeGuardNarrowsIndexedAccessOfKnownProperty3.ts ===
 type Foo = (number | undefined)[] | undefined;
->Foo : Foo
+>Foo : (number | undefined)[] | undefined
 
 const foo: Foo = [1, 2, 3];
 >foo : Foo
diff --git a/tests/baselines/reference/typeGuardNarrowsPrimitiveIntersection.types b/tests/baselines/reference/typeGuardNarrowsPrimitiveIntersection.types
index 0a9ae9c4cf1b5..544134e72e6e5 100644
--- a/tests/baselines/reference/typeGuardNarrowsPrimitiveIntersection.types
+++ b/tests/baselines/reference/typeGuardNarrowsPrimitiveIntersection.types
@@ -1,6 +1,6 @@
 === tests/cases/conformance/expressions/typeGuards/typeGuardNarrowsPrimitiveIntersection.ts ===
 type Tag = {__tag: any};
->Tag : Tag
+>Tag : { __tag: any; }
 >__tag : any
 
 declare function isNonBlank(value: string) : value is (string & Tag);
diff --git a/tests/baselines/reference/typeInferenceLiteralUnion.types b/tests/baselines/reference/typeInferenceLiteralUnion.types
index c8718f7515eb8..3b44e2424c310 100644
--- a/tests/baselines/reference/typeInferenceLiteralUnion.types
+++ b/tests/baselines/reference/typeInferenceLiteralUnion.types
@@ -4,7 +4,7 @@
  * Administrivia: JavaScript primitive types and Date
  */
 export type Primitive = number | string | boolean | Date;
->Primitive : Primitive
+>Primitive : string | number | boolean | Date
 
 /**
  * Administrivia: anything with a valueOf(): number method is comparable, so we allow it in numeric operations
diff --git a/tests/baselines/reference/typeOfThisInstanceMemberNarrowedWithLoopAntecedent.types b/tests/baselines/reference/typeOfThisInstanceMemberNarrowedWithLoopAntecedent.types
index 7938c5ec6e14c..336c3daa9effb 100644
--- a/tests/baselines/reference/typeOfThisInstanceMemberNarrowedWithLoopAntecedent.types
+++ b/tests/baselines/reference/typeOfThisInstanceMemberNarrowedWithLoopAntecedent.types
@@ -1,7 +1,7 @@
 === tests/cases/conformance/classes/members/instanceAndStaticMembers/typeOfThisInstanceMemberNarrowedWithLoopAntecedent.ts ===
 // #31995
 type State = {
->State : State
+>State : { type: "numberVariant"; data: number; } | { type: "stringVariant"; data: string; }
 
     type: "numberVariant";
 >type : "numberVariant"
diff --git a/tests/baselines/reference/typeParameterExtendsUnionConstraintDistributed.types b/tests/baselines/reference/typeParameterExtendsUnionConstraintDistributed.types
index ba87f02355e51..008f1c3164362 100644
--- a/tests/baselines/reference/typeParameterExtendsUnionConstraintDistributed.types
+++ b/tests/baselines/reference/typeParameterExtendsUnionConstraintDistributed.types
@@ -1,6 +1,6 @@
 === tests/cases/conformance/jsdoc/typeParameterExtendsUnionConstraintDistributed.ts ===
 type A = 1 | 2;
->A : A
+>A : 1 | 2
 
 function f<T extends A>(a: T): A & T { return a; } // Shouldn't error
 >f : <T extends A>(a: T) => A & T
@@ -8,7 +8,7 @@ function f<T extends A>(a: T): A & T { return a; } // Shouldn't error
 >a : T
 
 type B = 2 | 3;
->B : B
+>B : 2 | 3
 
 function f2<T extends A, U extends B>(ab: T & U): (A | B) & T & U { return ab; } // Also shouldn't error
 >f2 : <T extends A, U extends B>(ab: T & U) => (A | B) & T & U
diff --git a/tests/baselines/reference/typeParameterLeak.types b/tests/baselines/reference/typeParameterLeak.types
index f7d14ea165ecc..d4e281a119a82 100644
--- a/tests/baselines/reference/typeParameterLeak.types
+++ b/tests/baselines/reference/typeParameterLeak.types
@@ -5,7 +5,7 @@ interface Box<T> { data: T }
 >data : T
 
 type BoxTypes = Box<{ x: string }> | Box<{ y: string }>;
->BoxTypes : BoxTypes
+>BoxTypes : Box<{ x: string; }> | Box<{ y: string; }>
 >x : string
 >y : string
 
diff --git a/tests/baselines/reference/typePredicateStructuralMatch.types b/tests/baselines/reference/typePredicateStructuralMatch.types
index 4d0b371b1071d..ae7238400c6f2 100644
--- a/tests/baselines/reference/typePredicateStructuralMatch.types
+++ b/tests/baselines/reference/typePredicateStructuralMatch.types
@@ -26,11 +26,11 @@ getResults2({data: []});
 >[] : undefined[]
 
 type Result = { value: string };
->Result : Result
+>Result : { value: string; }
 >value : string
 
 type Results = Result[];
->Results : Results
+>Results : Result[]
 
 function isResponseInData<T>(value: T | { data: T}): value is { data: T } {
 >isResponseInData : <T>(value: T | {    data: T;}) => value is { data: T; }
diff --git a/tests/baselines/reference/typePredicatesInUnion.types b/tests/baselines/reference/typePredicatesInUnion.types
index 23d22fa598ee3..5cc8ffb6f3d2f 100644
--- a/tests/baselines/reference/typePredicatesInUnion.types
+++ b/tests/baselines/reference/typePredicatesInUnion.types
@@ -11,7 +11,7 @@ interface B {
 }
 
 type Or = A | B;
->Or : Or
+>Or : A | B
 
 function f(o: Or, x: {}) {
 >f : (o: Or, x: {}) => void
diff --git a/tests/baselines/reference/typePredicatesInUnion_noMatch.types b/tests/baselines/reference/typePredicatesInUnion_noMatch.types
index 2dacc990817f0..8f63b31061121 100644
--- a/tests/baselines/reference/typePredicatesInUnion_noMatch.types
+++ b/tests/baselines/reference/typePredicatesInUnion_noMatch.types
@@ -13,7 +13,7 @@ interface B {
 }
 
 type Or = A | B;
->Or : Or
+>Or : A | B
 
 function f(o: Or, x: {}, y: {}) {
 >f : (o: Or, x: {}, y: {}) => void
diff --git a/tests/baselines/reference/typeUsedAsTypeLiteralIndex.types b/tests/baselines/reference/typeUsedAsTypeLiteralIndex.types
index 3b95394188538..8ce6282d13b6c 100644
--- a/tests/baselines/reference/typeUsedAsTypeLiteralIndex.types
+++ b/tests/baselines/reference/typeUsedAsTypeLiteralIndex.types
@@ -1,9 +1,9 @@
 === tests/cases/compiler/typeUsedAsTypeLiteralIndex.ts ===
 type K = number | string;
->K : K
+>K : string | number
 
 type T = {
->T : T
+>T : {}
 
     [K]: number;  // Did you mean to use 'P in K'?
 >[K] : number
@@ -16,7 +16,7 @@ const K1 = Symbol();
 >Symbol : SymbolConstructor
 
 type T1 = {
->T1 : T1
+>T1 : { [K1]: number; }
 
     [K1]: number;
 >[K1] : number
@@ -24,10 +24,10 @@ type T1 = {
 }
 
 type K2 = "x" | "y";
->K2 : K2
+>K2 : "x" | "y"
 
 type T2 = {
->T2 : T2
+>T2 : {}
 
     [K2]: number;  // Did you mean to use 'K in K2'?
 >[K2] : number
@@ -35,10 +35,10 @@ type T2 = {
 }
 
 type K3 = number | string;
->K3 : K3
+>K3 : string | number
 
 type T3 = {
->T3 : T3
+>T3 : {}
 
     [K3]: number; // Did you mean to use 'K in K3'?
 >[K3] : number
@@ -46,10 +46,10 @@ type T3 = {
 }
 
 type K4 = number | string;
->K4 : K4
+>K4 : string | number
 
 type T4 = {
->T4 : T4
+>T4 : { k4: string; }
 
     [K4]: number;
 >[K4] : number
diff --git a/tests/baselines/reference/typeUsedAsValueError.types b/tests/baselines/reference/typeUsedAsValueError.types
index 7fb9b0e6921a4..cdac54e117c95 100644
--- a/tests/baselines/reference/typeUsedAsValueError.types
+++ b/tests/baselines/reference/typeUsedAsValueError.types
@@ -12,7 +12,7 @@ type TypeAliasForSomeClass = SomeClass;
 >TypeAliasForSomeClass : SomeClass
 
 type someType = { x: number };
->someType : someType
+>someType : { x: number; }
 >x : number
 
 function acceptsSomeType(a: someType) {
diff --git a/tests/baselines/reference/typeVariableTypeGuards.types b/tests/baselines/reference/typeVariableTypeGuards.types
index 063f6bbc96d55..9f6f45935a7a9 100644
--- a/tests/baselines/reference/typeVariableTypeGuards.types
+++ b/tests/baselines/reference/typeVariableTypeGuards.types
@@ -90,7 +90,7 @@ class BigMonkey extends Monkey<BigBanana> {
 // Another repro
 
 type Item = {
->Item : Item
+>Item : { (): string; x: string; }
 
     (): string;
     x: string;
diff --git a/tests/baselines/reference/typeofStripsFreshness.types b/tests/baselines/reference/typeofStripsFreshness.types
index 48c68bc749588..152050af563fa 100644
--- a/tests/baselines/reference/typeofStripsFreshness.types
+++ b/tests/baselines/reference/typeofStripsFreshness.types
@@ -31,7 +31,7 @@ type Another = typeof ANOTHER;
 >ANOTHER : "another"
 
 type Both = Another | All;
->Both : Both
+>Both : "all" | "another"
 
 const result2: Collection<Both> = new Collection();
 >result2 : Collection<Both>
diff --git a/tests/baselines/reference/typeofUsedBeforeBlockScoped.types b/tests/baselines/reference/typeofUsedBeforeBlockScoped.types
index ec8e30bb135a6..b56f1bee2ceb3 100644
--- a/tests/baselines/reference/typeofUsedBeforeBlockScoped.types
+++ b/tests/baselines/reference/typeofUsedBeforeBlockScoped.types
@@ -1,6 +1,6 @@
 === tests/cases/compiler/typeofUsedBeforeBlockScoped.ts ===
 type T = typeof C & typeof C.s & typeof o & typeof o.n;
->T : T
+>T : typeof C & number & { n: number; }
 >C : typeof C
 >C.s : number
 >C : typeof C
diff --git a/tests/baselines/reference/unionErrorMessageOnMatchingDiscriminant.types b/tests/baselines/reference/unionErrorMessageOnMatchingDiscriminant.types
index 4a02a5a5b88db..e4cb822394075 100644
--- a/tests/baselines/reference/unionErrorMessageOnMatchingDiscriminant.types
+++ b/tests/baselines/reference/unionErrorMessageOnMatchingDiscriminant.types
@@ -1,6 +1,6 @@
 === tests/cases/compiler/unionErrorMessageOnMatchingDiscriminant.ts ===
 type A = {
->A : A
+>A : { type: 'a'; data: {    a: string;}; }
 
     type: 'a',
 >type : "a"
@@ -12,7 +12,7 @@ type A = {
 };
 
 type B = {
->B : B
+>B : { type: 'b'; data: null; }
 
     type: 'b',
 >type : "b"
@@ -24,7 +24,7 @@ type B = {
 };
 
 type C = {
->C : C
+>C : { type: 'c'; payload: string; }
 
     type: 'c',
 >type : "c"
@@ -35,7 +35,7 @@ type C = {
 };
 
 type Union = A | B | C;
->Union : Union
+>Union : A | B | C
 
 // error
 const foo: Union = {
diff --git a/tests/baselines/reference/unionPropertyExistence.types b/tests/baselines/reference/unionPropertyExistence.types
index a57ce2fcfa671..3450a2a408794 100644
--- a/tests/baselines/reference/unionPropertyExistence.types
+++ b/tests/baselines/reference/unionPropertyExistence.types
@@ -30,10 +30,10 @@ interface C {
 }
 
 type AB = A | B;
->AB : AB
+>AB : A | B
 
 type ABC = C | AB;
->ABC : ABC
+>ABC : C | AB
 
 var ab: AB;
 >ab : AB
diff --git a/tests/baselines/reference/unionTypeCallSignatures4.types b/tests/baselines/reference/unionTypeCallSignatures4.types
index a5628129dbe5c..f9a5c5f259eb1 100644
--- a/tests/baselines/reference/unionTypeCallSignatures4.types
+++ b/tests/baselines/reference/unionTypeCallSignatures4.types
@@ -1,28 +1,28 @@
 === tests/cases/conformance/types/union/unionTypeCallSignatures4.ts ===
 type F1 = (a: string, b?: string) => void;
->F1 : F1
+>F1 : (a: string, b?: string) => void
 >a : string
 >b : string
 
 type F2 = (a: string, b?: string, c?: string) => void;
->F2 : F2
+>F2 : (a: string, b?: string, c?: string) => void
 >a : string
 >b : string
 >c : string
 
 type F3 = (a: string, ...rest: string[]) => void;
->F3 : F3
+>F3 : (a: string, ...rest: string[]) => void
 >a : string
 >rest : string[]
 
 type F4 = (a: string, b?: string, ...rest: string[]) => void;
->F4 : F4
+>F4 : (a: string, b?: string, ...rest: string[]) => void
 >a : string
 >b : string
 >rest : string[]
 
 type F5 = (a: string, b: string) => void;
->F5 : F5
+>F5 : (a: string, b: string) => void
 >a : string
 >b : string
 
diff --git a/tests/baselines/reference/unionTypeCallSignatures6.types b/tests/baselines/reference/unionTypeCallSignatures6.types
index fbb6dda54fb9c..a023a1fa0d60c 100644
--- a/tests/baselines/reference/unionTypeCallSignatures6.types
+++ b/tests/baselines/reference/unionTypeCallSignatures6.types
@@ -1,30 +1,30 @@
 === tests/cases/conformance/types/union/unionTypeCallSignatures6.ts ===
 type A = { a: string };
->A : A
+>A : { a: string; }
 >a : string
 
 type B = { b: number };
->B : B
+>B : { b: number; }
 >b : number
 
 type C = { c: string };
->C : C
+>C : { c: string; }
 >c : string
 
 type D = { d: number };
->D : D
+>D : { d: number; }
 >d : number
 
 type F0 = () => void;
->F0 : F0
+>F0 : () => void
 
 // #31547
 type F1 = (this: A) => void;
->F1 : F1
+>F1 : (this: A) => void
 >this : A
 
 type F2 = (this: B) => void;
->F2 : F2
+>F2 : (this: B) => void
 >this : B
 
 declare var f1: F1 | F2;
@@ -124,7 +124,7 @@ x2.f4();
 >f4 : F3 | F5
 
 type F6 = (this: A & B) => void;
->F6 : F6
+>F6 : (this: A & B) => void
 >this : A & B
 
 declare var f3: F1 | F6;
diff --git a/tests/baselines/reference/unionTypeReduction2.types b/tests/baselines/reference/unionTypeReduction2.types
index 740ee28910069..f4f724e6dcdb0 100644
--- a/tests/baselines/reference/unionTypeReduction2.types
+++ b/tests/baselines/reference/unionTypeReduction2.types
@@ -166,14 +166,14 @@ function f6(x: (x: 'hello' | undefined) => void, y: (x?: string) => void) {
 }
 
 type A = {
->A : A
+>A : { f(): void; }
 
     f(): void;
 >f : () => void
 }
 
 type B = {
->B : B
+>B : { f(x?: string | undefined): void; g(): void; }
 
     f(x?: string): void;
 >f : (x?: string | undefined) => void
diff --git a/tests/baselines/reference/unionTypeWithIndexSignature.types b/tests/baselines/reference/unionTypeWithIndexSignature.types
index 417d62e706e9a..6392f8846bac5 100644
--- a/tests/baselines/reference/unionTypeWithIndexSignature.types
+++ b/tests/baselines/reference/unionTypeWithIndexSignature.types
@@ -1,6 +1,6 @@
 === tests/cases/conformance/types/union/unionTypeWithIndexSignature.ts ===
 type Two = { foo: { bar: true }, baz: true } | { [s: string]: string };
->Two : Two
+>Two : { foo: {    bar: true;}; baz: true; } | { [s: string]: string; }
 >foo : { bar: true; }
 >bar : true
 >true : true
@@ -26,7 +26,7 @@ u.baz = 'hi'
 >'hi' : "hi"
 
 type Three = { foo: number } | { [s: string]: string } | { [s: string]: boolean };
->Three : Three
+>Three : { foo: number; } | { [s: string]: string; } | { [s: string]: boolean; }
 >foo : number
 >s : string
 >s : string
@@ -42,7 +42,7 @@ v.foo = false
 >false : false
 
 type Missing = { foo: number, bar: true } | { [s: string]: string } | { foo: boolean }
->Missing : Missing
+>Missing : { foo: number; bar: true; } | { [s: string]: string; } | { foo: boolean; }
 >foo : number
 >bar : true
 >true : true
@@ -65,7 +65,7 @@ m.bar
 >bar : any
 
 type RO = { foo: number } | { readonly [s: string]: string }
->RO : RO
+>RO : { foo: number; } | { readonly [s: string]: string; }
 >foo : number
 >s : string
 
@@ -80,7 +80,7 @@ ro.foo = 'not allowed'
 >'not allowed' : "not allowed"
 
 type Num = { '0': string } | { [n: number]: number }
->Num : Num
+>Num : { '0': string; } | { [n: number]: number; }
 >'0' : string
 >n : number
 
@@ -107,7 +107,7 @@ const sym = Symbol()
 >Symbol : SymbolConstructor
 
 type Both = { s: number, '0': number, [sym]: boolean } | { [n: number]: number, [s: string]: string | number }
->Both : Both
+>Both : { s: number; '0': number; [sym]: boolean; } | { [n: number]: number; [s: string]: string | number; }
 >s : number
 >'0' : number
 >[sym] : boolean
diff --git a/tests/baselines/reference/unionTypeWithIndexedLiteralType.types b/tests/baselines/reference/unionTypeWithIndexedLiteralType.types
index 47d1d6832e183..37d9f9d3de4fc 100644
--- a/tests/baselines/reference/unionTypeWithIndexedLiteralType.types
+++ b/tests/baselines/reference/unionTypeWithIndexedLiteralType.types
@@ -6,7 +6,7 @@ interface Idx { [index: string]: U; }
 >index : string
 
 type U = Idx | I | "lit";
->U : U
+>U : I | Idx | "lit"
 
 const u: U = { x: "lit" };
 >u : U
diff --git a/tests/baselines/reference/unionTypeWithLeadingOperator.types b/tests/baselines/reference/unionTypeWithLeadingOperator.types
index 63d2e7c018d5f..5f3c74e011f6b 100644
--- a/tests/baselines/reference/unionTypeWithLeadingOperator.types
+++ b/tests/baselines/reference/unionTypeWithLeadingOperator.types
@@ -3,7 +3,7 @@ type A = | string;
 >A : string
 
 type B =
->B : B
+>B : { type: "INCREMENT"; } | { type: "DECREMENT"; }
 
   | { type: "INCREMENT" }
 >type : "INCREMENT"
@@ -12,10 +12,10 @@ type B =
 >type : "DECREMENT"
 
 type C = [| 0 | 1, | "foo" | "bar"];
->C : C
+>C : [0 | 1, "foo" | "bar"]
 
 export type D = 
->D : D
+>D : 1 | 2
 
   /*leading0*/
   | /*leading1*/ 1 /*trailing1*/ 
diff --git a/tests/baselines/reference/unionWithIndexSignature.types b/tests/baselines/reference/unionWithIndexSignature.types
index 60eba708cec19..5acb5391f814f 100644
--- a/tests/baselines/reference/unionWithIndexSignature.types
+++ b/tests/baselines/reference/unionWithIndexSignature.types
@@ -28,7 +28,7 @@ export function foo<T extends NumList | StrList>(arr: T & (NumList | StrList)) {
 // Repro from #38102
 
 export type TypedArray = Int32Array | Uint8Array;
->TypedArray : TypedArray
+>TypedArray : Int32Array | Uint8Array
 
 export function isTypedArray(a: {}): a is Int32Array | Uint8Array {
 >isTypedArray : (a: {}) => a is Int32Array | Uint8Array
diff --git a/tests/baselines/reference/unionsOfTupleTypes1.types b/tests/baselines/reference/unionsOfTupleTypes1.types
index f1142821d2850..45ad08eeeb3e4 100644
--- a/tests/baselines/reference/unionsOfTupleTypes1.types
+++ b/tests/baselines/reference/unionsOfTupleTypes1.types
@@ -1,15 +1,15 @@
 === tests/cases/conformance/types/tuple/unionsOfTupleTypes1.ts ===
 type T1 = [string, number];
->T1 : T1
+>T1 : [string, number]
 
 type T2 = [boolean] | [string, number];
->T2 : T2
+>T2 : [boolean] | [string, number]
 
 type T3 = [string, ...number[]];
->T3 : T3
+>T3 : [string, ...number[]]
 
 type T4 = [boolean] | [string, ...number[]];
->T4 : T4
+>T4 : [boolean] | [string, ...number[]]
 
 type T10 = T1[0];  // string
 >T10 : string
@@ -251,7 +251,7 @@ function f1(t1: T1, t2: T2, t3: T3, t4: T4, x: number) {
 // Repro from #27543
 
 type Unioned = [string] | [string, number];
->Unioned : Unioned
+>Unioned : [string, number] | [string]
 
 const ex: Unioned = ["hi"] as Unioned;
 >ex : Unioned
diff --git a/tests/baselines/reference/uniqueSymbols.types b/tests/baselines/reference/uniqueSymbols.types
index 4a89412efae38..aa956c4045ca8 100644
--- a/tests/baselines/reference/uniqueSymbols.types
+++ b/tests/baselines/reference/uniqueSymbols.types
@@ -331,7 +331,7 @@ const constInitToIReadonlyTypeWithIndexedAccess: I["readonlyType"] = i.readonlyT
 
 // type literals
 type L = {
->L : L
+>L : { readonly readonlyType: unique symbol; nested: {    readonly readonlyNestedType: unique symbol;}; }
 
     readonly readonlyType: unique symbol;
 >readonlyType : unique symbol
diff --git a/tests/baselines/reference/uniqueSymbolsDeclarations.types b/tests/baselines/reference/uniqueSymbolsDeclarations.types
index 56ab89dea9cf1..018b6d50ad79c 100644
--- a/tests/baselines/reference/uniqueSymbolsDeclarations.types
+++ b/tests/baselines/reference/uniqueSymbolsDeclarations.types
@@ -324,7 +324,7 @@ const constInitToIReadonlyTypeWithIndexedAccess: I["readonlyType"] = i.readonlyT
 
 // type literals
 type L = {
->L : L
+>L : { readonly readonlyType: unique symbol; nested: {    readonly readonlyNestedType: unique symbol;}; }
 
     readonly readonlyType: unique symbol;
 >readonlyType : unique symbol
diff --git a/tests/baselines/reference/uniqueSymbolsDeclarationsErrors.types b/tests/baselines/reference/uniqueSymbolsDeclarationsErrors.types
index dc135a10d10e8..402d82eda3f29 100644
--- a/tests/baselines/reference/uniqueSymbolsDeclarationsErrors.types
+++ b/tests/baselines/reference/uniqueSymbolsDeclarationsErrors.types
@@ -76,7 +76,7 @@ export interface InterfaceWithPrivateNamedMethods {
 }
 
 export type TypeLiteralWithPrivateNamedProperties = {
->TypeLiteralWithPrivateNamedProperties : TypeLiteralWithPrivateNamedProperties
+>TypeLiteralWithPrivateNamedProperties : { [s]: any; }
 
     [s]: any;
 >[s] : any
@@ -84,7 +84,7 @@ export type TypeLiteralWithPrivateNamedProperties = {
 }
 
 export type TypeLiteralWithPrivateNamedMethods = {
->TypeLiteralWithPrivateNamedMethods : TypeLiteralWithPrivateNamedMethods
+>TypeLiteralWithPrivateNamedMethods : { [s](): any; }
 
     [s](): any;
 >[s] : () => any
diff --git a/tests/baselines/reference/uniqueSymbolsErrors.types b/tests/baselines/reference/uniqueSymbolsErrors.types
index 09f03a8ee11ea..6422ec64129d8 100644
--- a/tests/baselines/reference/uniqueSymbolsErrors.types
+++ b/tests/baselines/reference/uniqueSymbolsErrors.types
@@ -150,7 +150,7 @@ interface InvalidInterface {
 
 // type literals
 type InvalidTypeLiteral = {
->InvalidTypeLiteral : InvalidTypeLiteral
+>InvalidTypeLiteral : { invalidPropertyType: unique symbol; invalidArgType(arg: unique symbol): void; invalidRestArgType(...args: (unique symbol)[]): void; invalidReturnType(): unique symbol; invalidThisType(this: unique symbol): any; invalidTypePredicate(n: any): n is symbol; invalidTypeParameterConstraint<T extends symbol>(): void; invalidTypeParameterDefault<T = symbol>(): void; }
 
     invalidPropertyType: unique symbol;
 >invalidPropertyType : symbol
diff --git a/tests/baselines/reference/unknownType1.types b/tests/baselines/reference/unknownType1.types
index 09bd22fde04c5..c6911e0bf3bdd 100644
--- a/tests/baselines/reference/unknownType1.types
+++ b/tests/baselines/reference/unknownType1.types
@@ -91,7 +91,7 @@ type T35<T> = T extends unknown ? { x: T } : false;
 >false : false
 
 type T36 = T35<string | number>;  // { x: string } | { x: number }
->T36 : T36
+>T36 : { x: string; } | { x: number; }
 
 type T37 = T35<any>;  // { x: any }
 >T37 : { x: any; }
diff --git a/tests/baselines/reference/unknownType2.types b/tests/baselines/reference/unknownType2.types
index 72122f043d0c0..cbb9269c76304 100644
--- a/tests/baselines/reference/unknownType2.types
+++ b/tests/baselines/reference/unknownType2.types
@@ -9,7 +9,7 @@ type isTrue<T extends true> = T;
 >true : true
 
 type SomeResponse = 'yes' | 'no' | 'idk';
->SomeResponse : SomeResponse
+>SomeResponse : "yes" | "no" | "idk"
 
 let validate: (x: unknown) => SomeResponse = x => (x === 'yes' || x === 'no') ? x : 'idk'; // No error
 >validate : (x: unknown) => SomeResponse
diff --git a/tests/baselines/reference/unparenthesizedConstructorTypeInUnionOrIntersection.types b/tests/baselines/reference/unparenthesizedConstructorTypeInUnionOrIntersection.types
index bc133b3fe8218..0179b1129ea41 100644
--- a/tests/baselines/reference/unparenthesizedConstructorTypeInUnionOrIntersection.types
+++ b/tests/baselines/reference/unparenthesizedConstructorTypeInUnionOrIntersection.types
@@ -1,9 +1,9 @@
 === tests/cases/compiler/unparenthesizedConstructorTypeInUnionOrIntersection.ts ===
 type U1 = string | new () => void;
->U1 : U1
+>U1 : string | (new () => void)
 
 type U2 = string | new (foo: number) => void
->U2 : U2
+>U2 : string | (new (foo: number) => void)
 >foo : number
 
 type U3 = | new () => number
@@ -14,12 +14,12 @@ type U4 = | new (foo?: number) => void;
 >foo : number
 
 type U5 = string | new (number: number, foo?: string) => void | number;
->U5 : U5
+>U5 : string | (new (number: number, foo?: string) => void | number)
 >number : number
 >foo : string
 
 type U6 =
->U6 : U6
+>U6 : string | (new (...args: any[]) => void | number)
 
   | string
   | new (...args: any[]) => void
@@ -28,10 +28,10 @@ type U6 =
   | number;
 
 type I1 = string & new () => void;
->I1 : I1
+>I1 : string & (new () => void)
 
 type I2 = string & new (...foo: number[]) => void;
->I2 : I2
+>I2 : string & (new (...foo: number[]) => void)
 >foo : number[]
 
 type I3 = & new () => boolean
@@ -42,19 +42,19 @@ type I4 = & new () => boolean & null;
 >null : null
 
 type I5 = string & new (any: any, any2: any) => any & any;
->I5 : I5
+>I5 : string & (new (any: any, any2: any) => any & any)
 >any : any
 >any2 : any
 
 type I6 =
->I6 : I6
+>I6 : string & (new (foo: any) => void)
 
   & string
   & new (foo: any) => void;
 >foo : any
 
 type M1 = string | number & string | new () => number;
->M1 : M1
+>M1 : string | (new () => number)
 
 type M2 = any & string | any & new () => void;
 >M2 : any
@@ -64,8 +64,8 @@ type M3 = any & new (foo: any) => void | new () => void & any;
 >foo : any
 
 type OK1 = string | (new ()=> void);
->OK1 : OK1
+>OK1 : string | (new () => void)
 
 type OK2 = string | (new ()=> string | number);
->OK2 : OK2
+>OK2 : string | (new () => string | number)
 
diff --git a/tests/baselines/reference/unparenthesizedFunctionTypeInUnionOrIntersection.types b/tests/baselines/reference/unparenthesizedFunctionTypeInUnionOrIntersection.types
index 3a98c892d27be..876d3614b9710 100644
--- a/tests/baselines/reference/unparenthesizedFunctionTypeInUnionOrIntersection.types
+++ b/tests/baselines/reference/unparenthesizedFunctionTypeInUnionOrIntersection.types
@@ -1,9 +1,9 @@
 === tests/cases/compiler/unparenthesizedFunctionTypeInUnionOrIntersection.ts ===
 type U1 = string | () => void;
->U1 : U1
+>U1 : string | (() => void)
 
 type U2 = string | (foo: number) => void
->U2 : U2
+>U2 : string | ((foo: number) => void)
 >foo : number
 
 type U3 = | () => number
@@ -14,12 +14,12 @@ type U4 = | (foo?: number) => void;
 >foo : number
 
 type U5 = string | (number: number, foo?: string) => void | number;
->U5 : U5
+>U5 : string | ((number: number, foo?: string) => void | number)
 >number : number
 >foo : string
 
 type U6 =
->U6 : U6
+>U6 : string | ((...args: any[]) => void | number)
 
   | string
   | (...args: any[]) => void
@@ -28,10 +28,10 @@ type U6 =
   | number;
 
 type I1 = string & () => void;
->I1 : I1
+>I1 : string & (() => void)
 
 type I2 = string & (...foo: number[]) => void;
->I2 : I2
+>I2 : string & ((...foo: number[]) => void)
 >foo : number[]
 
 type I3 = & () => boolean
@@ -42,19 +42,19 @@ type I4 = & () => boolean & null;
 >null : null
 
 type I5 = string & (any: any, any2: any) => any & any;
->I5 : I5
+>I5 : string & ((any: any, any2: any) => any & any)
 >any : any
 >any2 : any
 
 type I6 =
->I6 : I6
+>I6 : string & ((foo: any) => void)
 
   & string
   & (foo: any) => void;
 >foo : any
 
 type M1 = string | number & string | () => number;
->M1 : M1
+>M1 : string | (() => number)
 
 type M2 = any & string | any & () => void;
 >M2 : any
@@ -64,14 +64,14 @@ type M3 = any & (foo: any) => void | () => void & any;
 >foo : any
 
 type OK1 = string | (number);
->OK1 : OK1
+>OK1 : string | number
 
 type OK2 = string | ((number));
->OK2 : OK2
+>OK2 : string | number
 
 type OK3 = string | (()=> void);
->OK3 : OK3
+>OK3 : string | (() => void)
 
 type OK4 = string | (()=> string | number);
->OK4 : OK4
+>OK4 : string | (() => string | number)
 
diff --git a/tests/baselines/reference/unusedLocalsAndParametersTypeAliases.types b/tests/baselines/reference/unusedLocalsAndParametersTypeAliases.types
index ff73539d3862a..da65ef518a7cd 100644
--- a/tests/baselines/reference/unusedLocalsAndParametersTypeAliases.types
+++ b/tests/baselines/reference/unusedLocalsAndParametersTypeAliases.types
@@ -1,7 +1,7 @@
 === tests/cases/compiler/unusedLocalsAndParametersTypeAliases.ts ===
 // used in a declaration
 type handler1 = () => void;
->handler1 : handler1
+>handler1 : () => void
 
 export interface I1 {
     getHandler: handler1;
@@ -10,11 +10,11 @@ export interface I1 {
 
 // exported
 export type handler2 = () => void;
->handler2 : handler2
+>handler2 : () => void
 
 // used in extends clause
 type handler3 = () => void;
->handler3 : handler3
+>handler3 : () => void
 
 export interface I3<T extends handler3> {
     getHandler: T;
@@ -23,10 +23,10 @@ export interface I3<T extends handler3> {
 
 // used in another type alias declaration
 type handler4 = () => void;
->handler4 : handler4
+>handler4 : () => void
 
 type handler5 = handler4 | (()=>number);
->handler5 : handler5
+>handler5 : handler4 | (() => number)
 
 var x: handler5;
 >x : handler5
@@ -37,7 +37,7 @@ x();
 
 // used as type argument
 type handler6 = () => void;
->handler6 : handler6
+>handler6 : () => void
 
 var y: Array<handler6>;
 >y : handler6[]
diff --git a/tests/baselines/reference/unusedLocalsAndParametersTypeAliases2.types b/tests/baselines/reference/unusedLocalsAndParametersTypeAliases2.types
index 182cbc614a82f..3ad121bedf49e 100644
--- a/tests/baselines/reference/unusedLocalsAndParametersTypeAliases2.types
+++ b/tests/baselines/reference/unusedLocalsAndParametersTypeAliases2.types
@@ -1,7 +1,7 @@
 === tests/cases/compiler/unusedLocalsAndParametersTypeAliases2.ts ===
 // unused
 type handler1 = () => void;
->handler1 : handler1
+>handler1 : () => void
 
 
 function foo() {
diff --git a/tests/baselines/reference/varRequireFromTypescript.types b/tests/baselines/reference/varRequireFromTypescript.types
index 931f95e9bd5a2..72c4e7827c708 100644
--- a/tests/baselines/reference/varRequireFromTypescript.types
+++ b/tests/baselines/reference/varRequireFromTypescript.types
@@ -43,7 +43,7 @@ function f(greatest, wrap) {
 
 === tests/cases/conformance/salsa/ex.d.ts ===
 export type Greatest = { day: 1 }
->Greatest : Greatest
+>Greatest : { day: 1; }
 >day : 1
 
 export class Crunch {
diff --git a/tests/baselines/reference/variadicTuples1.types b/tests/baselines/reference/variadicTuples1.types
index 3bb6d7d6d65c2..3aa03e67b84b9 100644
--- a/tests/baselines/reference/variadicTuples1.types
+++ b/tests/baselines/reference/variadicTuples1.types
@@ -1390,7 +1390,7 @@ callApi(getOrgUser);
 // Repro from #40235
 
 type Numbers = number[];
->Numbers : Numbers
+>Numbers : number[]
 
 type Unbounded = [...Numbers, boolean];
 >Unbounded : [...number[], boolean]
diff --git a/tests/baselines/reference/variadicTuples2.types b/tests/baselines/reference/variadicTuples2.types
index b60c45bc727f6..f4c199cfc9c06 100644
--- a/tests/baselines/reference/variadicTuples2.types
+++ b/tests/baselines/reference/variadicTuples2.types
@@ -2,22 +2,22 @@
 // Declarations
 
 type V00 = [number, ...string[]];
->V00 : V00
+>V00 : [number, ...string[]]
 
 type V01 = [...string[], number];
->V01 : V01
+>V01 : [...string[], number]
 
 type V03 = [number, ...string[], number];
->V03 : V03
+>V03 : [number, ...string[], number]
 
 type V10 = [number, ...string[], ...boolean[]];  // Error
->V10 : V10
+>V10 : [number, ...string[], ...boolean[]]
 
 type V11 = [number, ...string[], boolean?];  // Error
->V11 : V11
+>V11 : [number, ...string[], (boolean | undefined)?]
 
 type V12 = [number, string?, boolean];  // Error
->V12 : V12
+>V12 : [number, (string | undefined)?, boolean]
 
 // Normalization
 
diff --git a/tests/baselines/reference/varianceCallbacksAndIndexedAccesses.types b/tests/baselines/reference/varianceCallbacksAndIndexedAccesses.types
index 6b4d90767b69d..b72eb2d1e28f8 100644
--- a/tests/baselines/reference/varianceCallbacksAndIndexedAccesses.types
+++ b/tests/baselines/reference/varianceCallbacksAndIndexedAccesses.types
@@ -1,6 +1,6 @@
 === tests/cases/compiler/varianceCallbacksAndIndexedAccesses.ts ===
 type Source = {
->Source : Source
+>Source : { <K extends keyof WindowEventMap>(type: K, listener: (this: Window, ev: WindowEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; (type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; }
 
     <K extends keyof WindowEventMap>(type: K, listener: (this: Window, ev: WindowEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
 >type : K
@@ -57,7 +57,7 @@ interface WindowLike<T> extends PostMessageObject<T> {
 >handler : Action1<any>
 }
 type Target = {
->Target : Target
+>Target : { (type: "message", handler: Action1<MessageEventLike<any>>): void; (type: string, handler: Action1<any>): void; }
 
     (type: "message", handler: Action1<MessageEventLike<any>>): void;
 >type : "message"
diff --git a/tests/baselines/reference/varianceProblingAndZeroOrderIndexSignatureRelationsAlign.types b/tests/baselines/reference/varianceProblingAndZeroOrderIndexSignatureRelationsAlign.types
index c46df5c0f5aef..45d50307daef3 100644
--- a/tests/baselines/reference/varianceProblingAndZeroOrderIndexSignatureRelationsAlign.types
+++ b/tests/baselines/reference/varianceProblingAndZeroOrderIndexSignatureRelationsAlign.types
@@ -142,7 +142,7 @@ type NeededInfo<MyNamespaceSchema = {}> = {
 };
 
 export type MyInfo = NeededInfo<ToB<{ initialize: any }>>;
->MyInfo : MyInfo
+>MyInfo : { ASchema: ToA<ToB<{ initialize: any; }>>; }
 >initialize : any
 
 const tmp1: MyInfo = null!;
diff --git a/tests/baselines/reference/varianceProblingAndZeroOrderIndexSignatureRelationsAlign2.types b/tests/baselines/reference/varianceProblingAndZeroOrderIndexSignatureRelationsAlign2.types
index 8218ca02dd59c..85cecc1423f0c 100644
--- a/tests/baselines/reference/varianceProblingAndZeroOrderIndexSignatureRelationsAlign2.types
+++ b/tests/baselines/reference/varianceProblingAndZeroOrderIndexSignatureRelationsAlign2.types
@@ -142,7 +142,7 @@ type NeededInfo<MyNamespaceSchema = {}> = {
 };
 
 export type MyInfo = NeededInfo<ToB<{ initialize: any }>>;
->MyInfo : MyInfo
+>MyInfo : { ASchema: ToA<ToB<{ initialize: any; }>>; }
 >initialize : any
 
 const tmp1: MyInfo = null!;
diff --git a/tests/baselines/reference/varianceRepeatedlyPropegatesWithUnreliableFlag.types b/tests/baselines/reference/varianceRepeatedlyPropegatesWithUnreliableFlag.types
index 950ae7c336c39..6765e14f49e4e 100644
--- a/tests/baselines/reference/varianceRepeatedlyPropegatesWithUnreliableFlag.types
+++ b/tests/baselines/reference/varianceRepeatedlyPropegatesWithUnreliableFlag.types
@@ -1,10 +1,10 @@
 === tests/cases/compiler/varianceRepeatedlyPropegatesWithUnreliableFlag.ts ===
 type A = { a: number };
->A : A
+>A : { a: number; }
 >a : number
 
 type B = { b: number };
->B : B
+>B : { b: number; }
 >b : number
 
 type X<T> = ({ [K in keyof T]: T[K] } & Record<string, void>)[keyof T];
diff --git a/tests/baselines/reference/weakType.types b/tests/baselines/reference/weakType.types
index d2256478521e5..c85847c9889bf 100644
--- a/tests/baselines/reference/weakType.types
+++ b/tests/baselines/reference/weakType.types
@@ -64,15 +64,15 @@ doSomething(false);
 // this is an oddly popular way of defining settings
 // this example is from services/textChanges.ts
 type ConfigurableStart = { useStart?: boolean }
->ConfigurableStart : ConfigurableStart
+>ConfigurableStart : { useStart?: boolean; }
 >useStart : boolean
 
 type ConfigurableEnd = { useEnd?: boolean }
->ConfigurableEnd : ConfigurableEnd
+>ConfigurableEnd : { useEnd?: boolean; }
 >useEnd : boolean
 
 type ConfigurableStartEnd = ConfigurableStart & ConfigurableEnd
->ConfigurableStartEnd : ConfigurableStartEnd
+>ConfigurableStartEnd : ConfigurableStart & ConfigurableEnd
 
 interface InsertOptions {
     prefix?: string
@@ -82,7 +82,7 @@ interface InsertOptions {
 >suffix : string
 }
 type ChangeOptions = ConfigurableStartEnd & InsertOptions;
->ChangeOptions : ChangeOptions
+>ChangeOptions : ConfigurableStart & ConfigurableEnd & InsertOptions
 
 function del(options: ConfigurableStartEnd = {},
 >del : (options?: ConfigurableStartEnd, error?: {    error?: number;}) => void
@@ -131,11 +131,11 @@ let ctor: Ctor = K
 >K : typeof K
 
 type Spoiler = { nope?: string }
->Spoiler : Spoiler
+>Spoiler : { nope?: string; }
 >nope : string
 
 type Weak = {
->Weak : Weak
+>Weak : { a?: number; properties?: {    b?: number;}; }
 
     a?: number
 >a : number