let ensure_same_type ?check_qual ?check_iqual (e1 : expr) (e2 : expr) = if equal_type ?check_qual ?check_iqual (type_of e1) (type_of e2) then () else raise (Type_Error_local "not a same type")