resurrecting permutations and combinations that work with mutable state