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.
As discussed on http://irclog.perlgeek.de/perl6/2015-07-29#i_10974515
Users may confuse the send method (which is just a Str-friendly wrapper over write) with send(2), which is subtly different from write(2). To avoid this confusion, and open up the possibility of a true send(2) analogue in the future, I think that the current send should be renamed to print (thanks to jnthn++ for the suggestion)
There have been no complaints so far in about the new .assuming implementation, and we are now post-release, so allow the priming to actually throw exceptions instead of mixing them in, as planned. Also purge some old commented-out debug statements.
The :elide-type logic introduced a problem with captured types and types like ::?CLASS. This disallows eliding said types. (Currently the only use for :elide-type is Mu or Any).