As discussed at http://irclog.perlgeek.de/perl6/2015-08-04#i_10998495
As per jnthn++'s suggestion: http://irclog.perlgeek.de/perl6/2015-08-03#i_10994354
If the last statement in a file used to need sinking, and doing so threw an exception, we'd spit out an epic low-level backtrace rather than a nice high-level one. Fix that by making non-EVAL and non-REPL stuff we compile put the last statement in sink context in the code we generate rather than having MAIN do the sinking. Also means a trailing 0; in a file now warns.