removed prs / prs_fn (broken, because it did not include \n in its
semantics, forcing writeln to add one uncoditionally);
replaced prs_fn by writeln fn;
Last = List +
consts last :: 'a list => 'a
recdef last "measure (%xs. length xs)"
"last [x] = x"
"last (x#y#zs) = last (y#zs)"
end