Ever since bridge development started (around TS ~~3.6~~ 3.2) multiple new versions of TypeScript have been release, which offer new language features.
**AC**
* Work through the release notes ([[ https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-7.html | 3.7 ]], [[ https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-8.html | 3.8 ]], [[ https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-9.html | 3.9 ]]; to some degree also [3.3](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-3.html), [3.4](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html), [3.5](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-5.html), [3.6](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-6.html)), identify notable changes (e.g. "optional chaining")
* apply changes to the bridge code base, clustered by feature change (e.g. change all places at once where "optional chaining" can help us)
**Identified features to try** (see thoughts in the comments)
- [optional chaining](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-7.html#optional-chaining): `foo?.bar?.baz`
- [nullish coalescing](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-7.html#nullish-coalescing): `foo ?? bar()`
- [type-only imports+exports](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-8.html#type-only-imports-and-export): `import type Foo from "foo"`
- [// @ts-expect-error](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-9.html#-ts-expect-error-comments): compile-time assert that the next line is an error
- [[ https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-7.html#assertion-functions | assertion signatures ]]: asserting type guards
- [readonly arrays and tuples](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#improvements-for-readonlyarray-and-readonly-tuples): declare members/params/variables as `readonly X[]`
- [the Omit helper type](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-5.html#the-omit-helper-type): `Omit<TypeName, "memberName">`