( @FrankSchmitts)
map (const x) [1..n] == replicate n x,
[x| x <- sequence (replicate 2 "ABCD"), head x < head (tail x) ]
2 k, , , 2
[ [x1,x2] | x1 <- "ABCD", x2 <- "ABCD", x1 < x2 ]
.
k , . Id :
f 0 _ = [[]]
f _ [] = []
f k as = [ x : xs | (x:as') <- tails as, xs <- f (k-1) as' ]
( , as, , nub as )