-- sorts a list of numbers
sort :: [Nat] -> [Nat]
sort [] = []
sort [Z]        = [Z]
sort [S Z]      = [S Z]
sort [S(S Z)]   = [S(S Z)]        
sort [Z,S Z]        = [Z,S Z]
sort [Z,S(S Z)]     = [Z,S(S Z)]
sort [S Z, Z]       = [Z,S Z]
sort [S Z,S(S Z)]   = [S Z,S(S Z)]
sort [S(S Z), Z]    = [Z,S(S Z)]
sort [S(S Z),S Z]   = [S Z,S(S Z)]    
sort [S(S Z),S Z,Z] = [Z,S Z,S(S Z)]

