úÎÄÒ      experimental%Patrick Perry <patperry@stanford.edu>)Represents a permutation of the integers [0..n) . (Get the size, raw data array and offset ?Convert size and raw array to a permutation. No validation is  performed on the arguments. !Get the size of the permutation. :Perform an operation, given a pointer to the start of the  permutation data EApply a permutation to an integer. The integer must be in the range  [0..n). Same as ( but does not range-check the argument. HCreate a permutation from a list of values. The list must be of length  n and contain each integer in {0, 1, ..., (n-1) } exactly once. : The permutation that is returned will send the integer i to its index  in the list. Same as 0, but does not check that the inputs are valid. 2Create an identity permutation of the given size. "Get the inverse of a permutation.  applyWith swap perm9 applies the permutation as a sequence of swaps. After  this function is applied, OUT[i] = IN[P[i]] invertWith swap p. applies the inverse of the permutation as a 5 sequence of swaps. After this function is applied, OUT[P[i]] = IN[i]           permutation-0.1Data.Permutation Permutation toForeignPtrfromForeignPtrsizewithPermutationPtrapply unsafeApply permutationunsafePermutationfromListtoListidentityinverse applyWith invertWithPerminlinePerformIOisValid