type_match : hol_type -> hol_type -> (hol_type * hol_type) list -> (hol_type * hol_type) list
# type_match `:A->B->bool` `:num->num->bool` [];; val it : (hol_type * hol_type) list = [(`:num`, `:A`); (`:num`, `:B`)]
# itlist2 type_match [`:A->A->bool`; `:B->B->bool`] [`:num->num->bool`; `:bool->bool->bool`] [];; val it : (hol_type * hol_type) list = [(`:num`, `:A`); (`:bool`, `:B`)]