mostly_uniq2.m:009: In `foo'(di, uo): mostly_uniq2.m:009: error: `multi' is not a valid determinism for a predicate mostly_uniq2.m:009: that has I/O state arguments. The valid determinisms for mostly_uniq2.m:009: such predicates are `det', `cc_multi' and `erroneous', mostly_uniq2.m:009: since the I/O state can be neither duplicated nor mostly_uniq2.m:009: destroyed. mostly_uniq2.m:017: In clause for `foo(di, uo)': mostly_uniq2.m:017: in argument 2 of call to predicate `io.write_int'/3: mostly_uniq2.m:017: mode error: variable `STATE_VARIABLE_IO_0' has mostly_uniq2.m:017: instantiatedness `mostly_unique', mostly_uniq2.m:017: expected instantiatedness was `unique'. mostly_uniq2.m:017: This kind of uniqueness mismatch is usually caused by mostly_uniq2.m:017: doing input/output or some other kind of destructive mostly_uniq2.m:017: update in a context where it can be backtracked over, mostly_uniq2.m:017: such as the condition of an if-then-else.