And has some really odd behaviors like https://github.com/microsoft/TypeScript/issues/17053
Turn on `noUncheckedIndexAccess` and it works as you expect (plus forces you to check all the places you're doing unchecked access).
https://www.typescriptlang.org/play/?noUncheckedIndexedAcces...