Rather than crashing silently it would be useful to get the traceback if the kernel crashes (even it it's only in the jupyter notebook log somewhere). We could wrap evaluation in try-except and push the traceback on one of the channels.