def tools.clash.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
240# the first tool that does not agree with the first declaration of its name,
241# "" for none
242def tools.clash.go(ts: List<&2, M.Tool>, +all: List<&2, M.Tool>) -> String:
243 match ts:
244 case []:
245 ""
246 case +hd <> tl:
247 rest = tools.clash.go(tl, all)
248 Bool.pick(String, tool.eq(hd, M.tool.find(all, M.tool.name(hd))), rest, M.tool.name(hd))