The docs say:
Compute a type that contains the intersection of T and S. Usually this will be the smallest such type or one close to it.
I interpret this to mean that there may be cases where
typeintersect(T, S) is not a subtype of both
Can anyone give me an example?