search engine: first draft of code and also (slightly desynchronized) chapter text!

I think `input_stream` makes a lot of sense.  Passing around context managers just seems weird to me, like a variable named `if_condition` or `for_loop_iterator`.