`->*` results in the outer state when given no forms
`->*` threads the sub-state
`->*` can use an update function for sub-state
Use `->*` wherever we use e/update-current-buffer
Coalesce e/update-current-buffer and e/current-buffer
Rename `->*` to `in->`
Introduce ->'
Extract avi.compose/splice-form
`->'` supports threads through `if` clauses
`->'` handles `if-not`
Update documentation for ->'
Make `->'` wrap `if` and `if-not` clauses
Extract `splice-if-form`
Make splice-form private again
`->'` treats `if-let` as an if-like form
`->'` threads through `cond` clauses
`->'` handles missing `:else`
`->'` handles `:else` inside `cond`
Use packthread
Some more uses of +>