* Improve excess property checking for intersections
Still a draft, the implementation needs improvement
* Use mutable isIntersection in checkTypeRelatedTo
This makes parameter lists a lot shorter. Seems like a slight
improvement, although I can revert if I change my mind.
* Fix semicolon lint
* Remove TODOOOO
* Revert "Use mutable isIntersection in checkTypeRelatedTo"
This reverts commit b8dccff2a2.
* Perform excess property checking on intersection and union members
* Allow partial union props to contain the undefined type
* Add test case from #30771
* Un-terse getPossiblePropertiesOfUnionType side-effecting code
* Fix bug exposed in RWC
* Cache results of getPossiblePropertiesOfUnionType
* Fix whitespace