:- module type_desc. :- pragma termination_info(type_desc:type_of((builtin:unused)) = (builtin:out), infinite, cannot_loop). :- pragma termination_info(type_desc:has_type((builtin:unused), (builtin:in)), infinite, cannot_loop). :- pragma termination_info(type_desc:type_name((builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(type_desc:type_ctor_and_args((builtin:in), (builtin:out), (builtin:out)), infinite, cannot_loop). :- pragma termination_info(type_desc:type_ctor((builtin:in)) = (builtin:out), infinite, cannot_loop). :- pragma termination_info(type_desc:type_args((builtin:in)) = (builtin:out), infinite, cannot_loop). :- pragma termination_info(type_desc:type_ctor_name((builtin:in)) = (builtin:out), infinite, cannot_loop). :- pragma termination_info(type_desc:type_ctor_module_name((builtin:in)) = (builtin:out), infinite, cannot_loop). :- pragma termination_info(type_desc:type_ctor_arity((builtin:in)) = (builtin:out), infinite, cannot_loop). :- pragma termination_info(type_desc:type_ctor_name_and_arity((builtin:in), (builtin:out), (builtin:out), (builtin:out)), infinite, cannot_loop). :- pragma termination_info(type_desc:make_type((builtin:in), (builtin:in)) = (builtin:out), infinite, cannot_loop). :- pragma termination_info(type_desc:make_type((builtin:out), (builtin:out)) = (builtin:in), infinite, cannot_loop). :- pragma termination_info(type_desc:det_make_type((builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop).