Revert previous changes to the explicit state updater and use a different approach: immediately replace symbol names (e.g. `f`, `x`) by names that cannot clash with user defined names `__f`, `__x`, etc.), avoiding issues during the replacement process. Should fix #237 while avoiding unintended side effects.