Permutation Class
Currently we use a dict to represent a permutation. But really a permutation is a very restricted form of mapping that is bijective. We could implement a class encapsulating the permutation dictionary that enforces this constraint.