@@ -80,7 +80,7 @@ it's still fun and useful to [learn more](../../nock).
8080### <a name="hoon">`hoon`</a> (AST node)
8181
8282A [`hoon`](../reference) is the result of parsing a Hoon source
83−expression into an AST node. Because every Hoon programs is,
83+expression into an AST node. Because every Hoon program is,
8484in its entirety, a single expression of Hoon, the result of parsing
8585a whole Hoon program into an AST is a single `hoon`.
8686
@@ -101,7 +101,9 @@ parsed too. So if `p` is 2 and `q` is 17, the parsed result is:
101101[%clhp p=[%sand p=%ud q=2] q=[%sand p=%ud q=17]]
102102```
103103
104−To parse Hoon source into a hoon AST, use `ream` on a `cord`, e.g.:
104+The 2 and 17 have each been parsed as `%sand`-tagged `hoon`s, which
105+represent constant atoms. To parse Hoon source into a hoon AST, use
106+`ream` on a `cord`, e.g.:
105107
106108```
107109(ream ':-(2 17)')
@@ -151,9 +153,14 @@ is the hoon.
151153
152154A `type` defines a set (finite or infinite) of nouns and ascribes
153155some semantics to it. There is no direct syntax for defining
154−types; they are always defined by inference (ie, by
156+types; they are always defined by inference (i.e., by
155157[`mint`](#mint)), usually using a constructor (`mold`).
156158
159+All types are assembled out of base types defined in `++type`.
160+(Look up `++ type` in hoon.hoon for examples.) When the compiler
161+does type-inference on a prorgam, it assembles complex types out
162+of the simpler built-in types.
163+
157164### `gate` (function)
158165
159166A `gate` is a Hoon function (lambda or closure). Other
@@ -211,9 +218,11 @@ To resolve limb `foo`, [`mint`](#mint) searches the subject depth-first,
211218head-first for either a `face` named `foo`, or a `core` with the
212219arm `foo`. If it finds a face, the product is a *leg*, or
213220subtree of the subject. If it finds a core, it computes the arm
214−formula with that core as the subject.
221+formula with that core as the subject. A limb can also be a slot
222+(direct tree address), like `+15`.
215223
216−A limb can also be a slot (direct tree address), like `+15`.
224+The hoon compiler always resolves a limb to a tree axis lookup,
225+regardless of the kind of limb.
217226
218227`boo:[foo=12 baz=23 boo=34]` evaluates to `34`.
219228`+6:[foo=12 baz=23 boo=34]` evaluates to `baz=23`.