Code view:

A painting is a person's account of this edit as text, recorded independently of the node mapping - a rendering often has several equally defensible answers where the mapping has one. Deletions and insertions carry no position on the opposite side in a painting, so that panel draws no caret for them.

Before

1function f<T, U>(y: T, y1: U, p: (z: U) => T, p1: (x: T) => U): [T, U] { return [y, p1(y)]; }
2interface A { a: A; }
3interface B extends A { b; }
4
5var a: A, b: B;
6
7var d = f(a, b, x => x, x => <any>x); // Type [A, B]

After

1// @strict: false
2function f<T, U>(y: T, y1: U, p: (z: U) => T, p1: (x: T) => U): [T, U] { return [y, p1(y)]; }
3interface A { a: A; }
4interface B extends A { b; }
5
6var a: A, b: B;
7
8var d = f(a, b, x => x, x => <any>x); // Type [A, B]

Before

program
function_declaration (+82 nodes collapsed)
interface_declaration
interface "interface"
type_identifier "A"
interface_body
{ "{"
property_signature
property_identifier "a"
type_annotation
: ":"
type_identifier "A"
; ";"
} "}"
interface_declaration
interface "interface"
type_identifier "B"
extends_type_clause
extends "extends"
type_identifier "A"
interface_body
{ "{"
property_signature
property_identifier "b"
; ";"
} "}"
variable_declaration
var "var"
variable_declarator
identifier "a"
type_annotation
: ":"
type_identifier "A"
, ","
variable_declarator
identifier "b"
type_annotation
: ":"
type_identifier "B"
; ";"
variable_declaration (+30 nodes collapsed)
comment "// Type [A, B]"

After

program
comment "// @strict: false"
function_declaration (+82 nodes collapsed)
interface_declaration
interface "interface"
type_identifier "A"
interface_body
{ "{"
property_signature
property_identifier "a"
type_annotation
: ":"
type_identifier "A"
; ";"
} "}"
interface_declaration
interface "interface"
type_identifier "B"
extends_type_clause
extends "extends"
type_identifier "A"
interface_body
{ "{"
property_signature
property_identifier "b"
; ";"
} "}"
variable_declaration
var "var"
variable_declarator
identifier "a"
type_annotation
: ":"
type_identifier "A"
, ","
variable_declarator
identifier "b"
type_annotation
: ":"
type_identifier "B"
; ";"
variable_declaration (+30 nodes collapsed)
comment "// Type [A, B]"