main(!IO) :- io.write_string(X, !IO), io.nl(!IO), some_long_uninteresting_thing(X). % this is the same: main(!IO) :- some_long_uninteresting_thing(X), io.write_string(X, !IO), io.nl(!IO). % but this is different! main(!IO) :- io.nl(!IO), io.write_string(X, !IO), some_long_uninteresting_thing(X).