try_detism.m:016: Error: the determinism declaration for `p'(out, di, uo) is try_detism.m:016: not satisfied. try_detism.m:016: Declared `cc_multi', inferred `cc_nondet'. try_detism.m:016: The reason for the difference is the following. try_detism.m:023: In argument 1 of call to predicate `try_detism.q'/3: try_detism.m:023: unification with `X' can fail. try_detism.m:022: Error: call to predicate `exception.magic_exception_result'/1 try_detism.m:022: with determinism `cc_multi' occurs in a context which try_detism.m:022: requires all solutions. try_detism.m:023: Unification of `X' and `V_19' can fail. try_detism.m:022: In clause for `p(out, di, uo)': try_detism.m:022: in call to predicate `exception.try_io'/4: try_detism.m:022: mode error: arguments `TryLambda', `TryResult', try_detism.m:022: `STATE_VARIABLE_IO_10' and `TryIOOutput' have the following try_detism.m:022: insts: try_detism.m:022: /* unique */ (pred(out, di, uo) is semidet), try_detism.m:022: free, try_detism.m:022: unique, try_detism.m:022: free try_detism.m:022: which does not match any of the modes for predicate try_detism.m:022: `exception.try_io'/4. try_detism.m:022: The first argument `TryLambda' has inst try_detism.m:022: /* unique */ (pred(out, di, uo) is semidet), try_detism.m:022: which does not match any of those modes. try_detism.m:022: (For higher order insts like this, the mismatch is try_detism.m:022: sometimes caused by the arity of the predicate or function try_detism.m:022: being different in the inst than in the type.) For more information, recompile with `-E'.