The main idea making Alps a good representation, i.e. the separation between all special cases, can be used more than once. The If gate is a conceptual multiplexer, that may be extended to a whole vector of variables.
For example with 2 inputs, we can introduce the bi-multiplexer, If2, defined by:
If2 [x1, x2, F11, F10, F01, F00] = If [x1, If [x2, F11, F10], If [x2, F01, F00]]
The special cases to be distinguished for compacting trees containing If2 are when at least one of the four partial functions is 1 or 0, and/or when at least two of the partial functions are equal or relative complement.
In the extreme case when you multiplex all variables, the function obtained is the truth-table function. Consequently, permutations are less useful for compacting the representation.
With this generalization, Alps is very near to the representation proposed by Bryant [Brant85].