Two pieces of feedback:
First, at the end of this I'm still rather confused about what molds are for, and it's implied that all will be explained in the next chapter. This is a tutorial, not the next great American novel: do not end chapters on cliffhangers! After finishing a chapter, the reader should be able to go back and fully understand every concept introduced in the text. Either expand this chapter to include a complete explanation of molds, or move molds into a separate chapter.
Two, you include this example of a mold:
++ span
$% [%atom p=@tas]
[%cell p=span q=span]
[%cube p=* q=span]
==
This is chapter 0 of a tutorial on Hoon: do not just include Hoon syntax with no explanation! I have some idea of what this function does from context clues, but I have no way of knowing if my intuition is correct. This is why pseudocode was created: use it! Here's my best guess of what that function does: function span_mold(noun n)
if n is of the form (p,q)
return [%cell span_mold(p) span_mold(q)]
else if n is of the form @a
return [%atom %a]
else if n is of the form %b
return [%cube b span(b)]
Is that right? I have no clue!