Intersection types and higer-order model checking