Editing Elm code with a reactive debugger: signal graph visualization, hot-swapping, pause/rewind/replay