A whistlestop tour of the technique "insert a lightweight API boundary down the middle of a tool, for fun and profit". It leads you towards a structure that has lots of benefits, such as meaningful `--dry-run` output and more ready librarification.
It's not material to the point, but I think there's a small typo on line 12 of the second "Finishing the example" snippet: it looks like
let instructions = gather args
let instructions = gather inputGlobs
You're quite right; thanks for letting me know. I'll get that fixed.
A whistlestop tour of the technique "insert a lightweight API boundary down the middle of a tool, for fun and profit". It leads you towards a structure that has lots of benefits, such as meaningful `--dry-run` output and more ready librarification.