Higher-order subtyping with intersection types by A.B. Compagnoni