Check.args.dups: def of shake@0.7.0.0 Import: import shake@0.7.0.0/src/check.bend as Check Lines 60-79 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=60&end_line=79 import Base import shake@0.7.0.0/src/cli.bend as C # each argument's name and spellings against the earlier ones', and its # default against its choices def args.dups( args: List<&2, C.Arg>, +path: List<&2, String>, +names: List<&2, String>, +shorts: List<&2, String>, +longs: List<&2, String> ) -> List<&2, SpecErr>: match args: case Nil{}: [] case Con{hh, tt}: C.Arg{+name, +short, +long, _k, _h, _r, C.Fallback{_e, dflt}, +cs} = hh both(one(List.contains(~String, ~String.eq, names, name), SameName{path, name}), both(one(spelled.seen(short, shorts), SameShort{path, C.text.of(short, "")}), both(one(spelled.seen(long, longs), SameLong{path, C.text.of(long, "")}), both(args.default(dflt, cs, path, name), args.dups(tt, path, name <> names, spelled.add(short, shorts), spelled.add(long, longs)))))) Uses (13): 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=args.default 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/check.bend&name=spelled.add https://jend.leeeet.dev/definition.txt?path=shake@0.7.0.0/src/check.bend&name=spelled.seen https://jend.leeeet.dev/definition.txt?path=shake@0.7.0.0/src/cli.bend&name=Arg https://jend.leeeet.dev/definition.txt?path=shake@0.7.0.0/src/cli.bend&name=Fallback https://jend.leeeet.dev/definition.txt?path=shake@0.7.0.0/src/cli.bend&name=text.of