@@ -13,10 +13,10 @@ Here's `ape/sum.hoon`:
1313```
1414/? 314
1515!:
16−|_ [bowl state=@]
16+|_ [bowl state/@]
1717++ poke-atom
18− |= arg=@
19− ^- [(list) _+>.$]
18+ |= arg/@
19+ ^- {(list) _+>.$}
2020 ~& [%so-far (add state arg)]
2121 [~ +>.$(state (add state arg))]
2222--
@@ -41,8 +41,7 @@ how?
4141
4242The state is stored as the second thing in the `|_` line. In our
4343case, it's simply an atom named `state`. We change it by
44−producing as our state not with (as before) `+>.$` but `+>.$(state (add state
45−arg))`. We've seen all these parts before, but you might not
44+producing as our state not with `+>.$` (as before), but with `+>.$(state (add state arg))`. We've seen all these parts before, but you might not
4645recognize them.
4746
4847Recall in the first chapter that we recursed with the expression
@@ -62,14 +61,13 @@ meaning that our state is an atom. Of course, `state` is just a
6261name we're assigning to it, and you're free to use whatever name
6362you want.
6463
65−Two points you may be wondering about. Firstly, `bowl` is a set
66−of general global state that is managed by the system. It
64+There are at least two points you may be wondering about. First, `bowl` is a set of general global state that is managed by the system. It
6765includes things like `now` (current time), `our` (our urbit
6866identity), and `eny` (256 bits of guaranteed-fresh entropy). For
6967the full list of things in `++bowl`, search for `++ bowl` (note
7068the double space) in `/arvo/zuse.hoon`.
7169
72−> This is a very common technique in learning hoon. While some
70+> This is a very common technique in learning hoon. While
7371> documentation exists, often the easiest way to learn about an
7472> identifier you see in code is to search in `/arvo/zuse.hoon`
7573> and `/arvo/hoon.hoon` for it. These are our two "standard
@@ -80,12 +78,12 @@ the double space) in `/arvo/zuse.hoon`.
8078> /arvo microkernel), you can usually use the code and the
8179> comments as reference doc.
8280
83−The second point is that urbit needs no "serialize to disk" step.
81+The second thing is that urbit needs no "serialize to disk" step.
8482Everything you produce in the app state is persistent across
8583calls to the app, restarts of the urbit, and even power failure.
8684If you want to write to the filesystem, you can, but it's not
8785needed for persistence. Urbit has transactional events, which
88−makes it an [ACID operating system](). Thus, you don't have to
86+makes it an [ACID operating system](https://en.wikipedia.org/wiki/ACID). Thus, you don't have to
8987worry about persistence when programming in urbit or to ever go
9088through the hassle of having to set up and write to a database.
9189