These are great notes! Thank you.
Shoot! Halogen is already ready for 0.12, so I guess I can go ahead and remove all that stuff. I should have waited a week to write this 
Right. I’ll fix this.
On reflection I think you’re right. I didn’t want to spend too much time changing the shape of the code from section to section because I find it difficult to keep track of these sorts of changes when I read tutorials. We discussed this a little on Slack – code tutorials fall down often because you don’t see the entire file at once, just a small window onto a few lines of it, and so without that context it can be tough to keep track of what’s happening. I tried to stick with the minimal number of changes necessary to get the whole thing working, but in the code you’ve called out here, it becomes tough to follow such a dense function.
I’m going to refactor it into renderItem, renderContainer, renderInput as I usually do in my own code.
You’re right here as well. Early into learning Halogen I thought of it as returning the ‘next’ query, largely because of what you stated there: most of the time it’s actually unit, in which case the next query runs. However, we’ve used H.query often enough that I should have known better when writing this! I’ll fix this as well.
Thanks again for the feedback @monoidmusician