padWith :: a -> Int -> [a] -> [a]
padWith _ 0 l = l
padWith e n [] = replicate n e
-padWith e (n+1) (h:t) = h:(padWith e n t)
+-- http://hackage.haskell.org/trac/haskell-prime/wiki/RemoveNPlusK
+-- Ugg... GHC could at least give a meaningful error message. ~ Matt 2011-08-27
+padWith e n (h:t) =
+ if n == 0 then error "padWith: list is already longer than the requested length"
+ else h:(padWith e (n-1) t)
formatTable :: [[String]] -> String
formatTable cells =