data SorterArgs = SorterArgs { cmp :: String, col :: Int, rev :: Bool } deriving Show
defSortArgs = SorterArgs "lex" 0 False


sorter :: SorterArgs -> [[String]] -> [[String]]
sorter (SorterArgs{..}) = case cmp of
                            _ -> undefined

main = do
    sorter defSortArgs{cmp = "foo", col=1, rev=True} [[]]
    sorter defSortArgs{cmp = "foo"} [[]]
    sorter defSortArgs [[]]
    return ()