Check.subs.dups: def of shake@0.7.0.0 Import: import shake@0.7.0.0/src/check.bend as Check Lines 98-111 of shake@0.7.0.0/src/check.bend: https://jend.leeeet.dev/read.txt?path=shake@0.7.0.0/src/check.bend&start_line=98&end_line=111 import Base import shake@0.7.0.0/src/cli.bend as C # each subcommand's name against the earlier ones', and against `help` def subs.dups( subs: List<&2, C.Sub>, +path: List<&2, String>, +names: List<&2, String> ) -> List<&2, SpecErr>: match subs: case Nil{}: [] case Con{hh, tt}: C.Sub{+name, _a, _g, _c} = hh both(one(List.contains(~String, ~String.eq, names, name), SameSub{path, name}), both(one(String.eq(name, "help"), HelpSub{path}), subs.dups(tt, path, name <> names))) Uses (8): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List.contains https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=String https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=String.eq https://jend.leeeet.dev/definition.txt?path=shake@0.7.0.0/src/check.bend&name=SpecErr https://jend.leeeet.dev/definition.txt?path=shake@0.7.0.0/src/check.bend&name=both https://jend.leeeet.dev/definition.txt?path=shake@0.7.0.0/src/check.bend&name=one https://jend.leeeet.dev/definition.txt?path=shake@0.7.0.0/src/cli.bend&name=Sub