Clarify behaviour of typeintersect()

The docs say:

typeintersect(T, S)

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 T and S?

Can anyone give me an example?