This changes the default mode to cache the code blocks we're
asked to compile until we see the new %reset magic to clear that cache.
This means that if you run several cells in sequence, at the end you're
compiling the code from all the cells at once.
This emulates what the ipython kernel does where it uses a persistent
interpreter state by default.
%reset will only be acted on when it's in the cell we're asked to run
(the newest code).
%args we will use the most recent value we have cached.
The example notebook has been updated to explain that.
Depends on D132378
Wouldn't this collapse all magic to top rather than allowing different magic per section? And in the examples, it seems we have magic at the top only per sections of code.