data Symbol = A | B | C | D deriving(Eq,Ord,Show) type SymTuple4 = (Symbol, Symbol, Symbol, Symbol) perm1 :: SymTuple4 -> SymTuple4 perm1 (a,b,c,d) = (b,a,c,d) perm2 :: SymTuple4 -> SymTuple4 perm2 (a,b,c,d) = (c,b,a,d) perm3 :: SymTuple4 -> SymTuple4 perm3 (a,b,c,d) = (d,b,c,a)