module T17431 (sort) where sort :: Ord a => [a] -> [a] sort [] = [] sort (x:xs) = insert x (sort xs) insert :: Ord a => a -> [a] -> [a] insert x [] = [x] insert x (y:ys) | x < y = x:y:ys | otherwise = y:(insert x ys)