def tools.agree.go
import ezx@1.11.0.0/src/ws/joint.bend as Jointimport Base
import ezx@1.11.0.0/src/ledger/manifest.bend as M
227# whether every declaration of a tool agrees with the first
228def tools.agree.go(ts: List<&2, M.Tool>, +all: List<&2, M.Tool>) -> Bool:
229 match ts:
230 case []:
231 True{}
232 case +hd <> tl:
233 rest = tools.agree.go(tl, all)
234 Bool.and(tool.eq(hd, M.tool.find(all, M.tool.name(hd))), rest)