S9 LIB  (permute integer list)   ==>  list
        (permute* integer list)  ==>  list

        (load-from-library "permute.scm")

Create k-permutations of the elements of the given list. K (the
size of the permutations) is specified in the integer argument.
PERMUTE creates permutations without repetition and PERMUTE*
creates permutations with repetition.

(permute 2 '(a b c))   ==>  ((a b) (b a) (a c)
                             (c a) (b c) (c b))

(permute* 2 '(a b c))  ==>  ((a a) (a b) (a c)
                             (b a) (b b) (b c)
                             (c a) (c b) (c c))
