compiler/cse_detection.m:
When considering whether a variable's unifications can be pulled
out of disjunctions (or if-then-elses), require only that the
*arguments* of the function symbols it may be unified with are
free of uniqueness, but allow the top level memory cell itself
to be unique (which it will be by default immediately after its
construction). This is sufficient to avoid github issue 64.
This fixes mantis bug 480 in *almost* all cases.
tests/valid/bug480.m:
A modified version of the mantis test case.
tests/valid/Mmakefile:
Enable the new test case.