Flow was printing errors because it was having trouble deducing the types for these selectors. Adding typehints solved the errors.
The only exception is the case where I added a threadInfo.containingThreadID check. This was necessary because that value was used to index into a collection that didn't support null/undefined values.
NOTE: CI will fail on this diff. I considered the possibility of fixing Flow errors BEFORE upgrading Flow, but it wasn't possible... in some cases, the fixes to support the new version of Flow caused errors in the old version. I could have hidden these type errors with $FlowFixMe lines and then later revert those, but that seemed like too much busy work.
Depends on D9707