added monadplus instance for gen, added perms combinator and test to generate array permutations