WebMonads read in all their data at the start of the interaction with the
user and write it all out again at the end.
A major limitation at the moment is that this has to be Json values. This
was a bad design decision as if I'd used plain serialisation or pickling
then the programmer building the journey wouldn't have needed to worry about
writing Format converters.
The store should be tolerant of failure - the structure of objects is likely
to change during development and it's usually fine to just ask the user again.