Perms are a structure with a simple-array. Maybe we should just use simple-arrays, and avoid the extra bits and bobs. One idea I had was to use the first element of the array as a sort of sentinel value. It isn't exactly the nicest/safest solution, but it might be Good Enough.