Register the sphinx spcefic atexit function before InteractiveShell can register it's clean up function. The functions are executed last-in, first-out which means in this case the temporary profile directory is deleted before the final history writing can be done which results in exceptions/warnings coming out of sphinx.
Builtins can now provide a signature, and sum() does so as of Python 3.5. I thought this is related to PEP 436, but that still appears to be in draft status, so I'm not sure.
require from `from shim import *` to work properly