Module Pattern.Shuffle_or_permute

type args =
  1. | Two of Base.int * Base.int
  2. | TwoxTwo of Base.int * Base.int * Base.int * Base.int
  3. | Four of Base.int * Base.int * Base.int * Base.int
val pack : args -> [> `Four | `Two | `TwoxTwo ] * int