Closed.check.go: def of bolt@1.27.0.0 Import: import bolt@1.27.0.0/src/rules/laws/closed.bend as Closed Lines 34-45 of bolt@1.27.0.0/src/rules/laws/closed.bend: https://jend.leeeet.dev/read.txt?path=bolt@1.27.0.0/src/rules/laws/closed.bend&start_line=34&end_line=45 import Base import bolt@1.27.0.0/src/finding.bend as F import bolt@1.27.0.0/src/syntax/tree.bend as Tree import bolt@1.27.0.0/src/lazy/lazy.bend as Lazy import bolt@1.27.0.0/src/syntax/bind.bend as Bind def check.go(root: Tree.Node, +path: String) -> List<&2, F.Finding>: match root: case Tree.NCons{Tree.Stmt{Tree.SLaw{}, +kids, +body}, rest}: +more = check.go(rest, path) Lazy.stop(List<&2, F.Finding>, binds(body), more, _u => F.Finding{path, Tree.line(kids), Tree.col(kids), 0, "closed", "Law " ++ name.of(Bind.declared(kids)) ++ " has no `for` or `exs` binder, so it checks a single case; quantify it or delete it."} <> more) case Tree.NCons{h, rest}: check.go(rest, path) case other: Nil{} Uses (12): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=String https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=String.append https://jend.leeeet.dev/definition.txt?path=bolt@1.27.0.0/src/finding.bend&name=Finding https://jend.leeeet.dev/definition.txt?path=bolt@1.27.0.0/src/lazy/lazy.bend&name=stop https://jend.leeeet.dev/definition.txt?path=bolt@1.27.0.0/src/rules/laws/closed.bend&name=binds https://jend.leeeet.dev/definition.txt?path=bolt@1.27.0.0/src/rules/laws/closed.bend&name=name.of https://jend.leeeet.dev/definition.txt?path=bolt@1.27.0.0/src/syntax/bind.bend&name=declared https://jend.leeeet.dev/definition.txt?path=bolt@1.27.0.0/src/syntax/tree.bend&name=Node https://jend.leeeet.dev/definition.txt?path=bolt@1.27.0.0/src/syntax/tree.bend&name=StmtKind https://jend.leeeet.dev/definition.txt?path=bolt@1.27.0.0/src/syntax/tree.bend&name=col https://jend.leeeet.dev/definition.txt?path=bolt@1.27.0.0/src/syntax/tree.bend&name=line