3 ms·
A union type `A | B` in Flow is disjoint if and only if the types `A` and `B` are a prior known to be disjoint. There is no equipping `A` and `B` with fresh new
by catnaroek 9y ago
A union type `A | B` in Flow is disjoint if and only if the types `A` and `B` are a prior known to be disjoint. There is no equipping `A` and `B` with fresh new tags to force them to be disjoint.
- dbaupp 9y ago... Which isn't relevant to the clarification of mathematical terms in my comment.
- catnaroek 9y agoIt is relevant, because it means that while `|` may produce a disjoint union if its arguments are already disjoint, it is not guaranteed to produce a disjoint union in the general case. Hence, my original comment had a point. As if that weren't enough, any talk about universal properties is utterly pointless as soon as object identities matter everywhere.