``` let tagName; switch (kind) { case ListKind.Ordered: tagName = 'ol'; break; case ListKind.Unordered: tagName = 'ul'; break; default: assertNever(kind); } ``` * The inferred type of `tagName` is `string|undefined`, but should be `string`, AFAICT. * Similarly: If I give `tagName` the type `string`, I get the error: “Variable 'tagName' is used before being assigned”.