Earlier quoted context omitted.
Nope. This is a common confusion. The set of properties of objects and the sets of objects themselves have a complementary relationship when it comes to union / intersection and subset / superset. Let's define a "property" as being a predicate that is true for all elements of a set. For example, a collection of red objects has the "red" property. A subset of a set of objects can only have the same or more properties…
I think that interfaces in TypeScript unfortunately contribute to that confusion. I can do interface Point2D { x: number y: number } And then I can do interface Point3D extends Point2D { z: number } And that "extends" really throws off many people because in reality the type of Point2D is implicitly { x: number y: number [anything_else in string]: unknown } So Point3D actually narrows the type of Point2D even though…
The notation suggests that it extends the definition with additional restrictions. Which it does. Which, yes, produces a narrower scope. That’s how definitions work.