:- module complex_constraint_err.
:- interface.
:- import_module pair, map, list.

:- typeclass foo(A, B, C) <= (A -> B) where [].
:- typeclass bar(B, C) <= (B -> C) where [].

	% Error: C is not determined.
:- pred t(A) <= (foo(A, B, C), bar(B, C1)).
:- mode t(in) is semidet.

	% Error: X and Z are not determined.
:- pred u(A) <= (foo(A, pair(W, X1), map(Y, Z)), bar(W, Y), bar(X, list(Z))).
:- mode u(in) is semidet.

:- implementation.

t(_) :- semidet_succeed.
u(_) :- semidet_succeed.

