extern void qtype_setType (/*@sef@*/ qtype p_q, ctype p_c);
# define qtype_setType(q, c) (qtype_isDefined(q) ? (q)->type = (c) : (c))
extern void qtype_setType (/*@sef@*/ qtype p_q, ctype p_c);
# define qtype_setType(q, c) (qtype_isDefined(q) ? (q)->type = (c) : (c))
extern qtype qtype_addQualList (/*@returned@*/ qtype p_qt, qualList p_ql);
extern qtype qtype_mergeImplicitAlt (/*@returned@*/ qtype p_q1, /*@only@*/ qtype p_q2);
extern /*@only@*/ qtype qtype_copy (qtype p_q);
extern qtype qtype_addQualList (/*@returned@*/ qtype p_qt, qualList p_ql);
extern qtype qtype_mergeImplicitAlt (/*@returned@*/ qtype p_q1, /*@only@*/ qtype p_q2);
extern /*@only@*/ qtype qtype_copy (qtype p_q);
extern /*@notnull@*/ qtype qtype_create (ctype p_c) /*@*/ ;
extern /*@only@*/ qtype qtype_unknown(void) /*@*/ ;
extern /*@notnull@*/ qtype qtype_create (ctype p_c) /*@*/ ;
extern /*@only@*/ qtype qtype_unknown(void) /*@*/ ;
extern qtype qtype_mergeAlt (/*@returned@*/ qtype p_q1, /*@only@*/ qtype p_q2);
extern qtype qtype_resolve (/*@returned@*/ qtype p_q);
extern qtype qtype_mergeAlt (/*@returned@*/ qtype p_q1, /*@only@*/ qtype p_q2);
extern qtype qtype_resolve (/*@returned@*/ qtype p_q);
extern /*@only@*/ cstring qtype_unparse (qtype p_q) /*@*/ ;
extern qtype qtype_newBase (/*@returned@*/ qtype p_q, ctype p_ct);
extern qtype qtype_newQbase (/*@returned@*/ qtype p_q1, qtype p_q2);
extern /*@only@*/ cstring qtype_unparse (qtype p_q) /*@*/ ;
extern qtype qtype_newBase (/*@returned@*/ qtype p_q, ctype p_ct);
extern qtype qtype_newQbase (/*@returned@*/ qtype p_q1, qtype p_q2);