perms templates findPerms source @ set [1..$@perms::length]; 1 -> # ! when <|..0> do VOID when <|$@perms::length..> do $@perms ! $ - 1 -> # ! when <|?($@($) matches <|$@perms::length~..>)> do @perms([$@perms::last, $..~$@perms::last]) set $@perms($..)...; @($) set $; $ - 1 -> #! otherwise @perms([$@($), $]) set $@perms([$, $@($)])...; @($) set $@($) + 1; $ + 1 -> # ! end findPerms @ set [1..$]; $findPerms ! end perms alpha is ['ABCD'...]; [4 -> perms -> '$alpha($)...;' ] !