Fix method-call boolification memory leak.
Better diagnostic message.
Ensure special_return_data is marked if needed.

Only needed in one place now, but could come up again, so this is a
general solution.