Disjoint intersection types