They're somewhat safe to use on a different thread, but we don't need
to for now. By removing this, we'll be made aware as needed.
(cherry picked from commit 2e953d0a1268e2f19671fdbc9e721fc630ac346b)
A step toward handling the arrival of new data (stdin) with priority
over commands, avoiding roundtrips and re-evaluations.
(cherry picked from commit 8a2a5197886025caf35653001f76a4b209d8c9e4)
This spreads out transitively to many places and requires that
we use `check_call!` instead of `check_one_call` in a number of
places.
(cherry picked from commit 6bc31dcf206518a7be7f0ac6e773d5dfe25531ea)
The mutation-based methods had some pitfalls, and we don't really
need them.
We could re-add them if we need to.
(cherry picked from commit ca92b8491d87cebf54dd2468599168fc7a16c07f)
This loses the custom name for "thunk", but checking thunkness is
a niche use case that I don't think we should spend much code on.
(cherry picked from commit 7bdff525c13234ce6a32ea9346292d948b0840c1)