tablex n xs
  = let (headers,docs) = unzip xs
        headerwidth    = maximum (map (length . show) headers)
    in indent n $
       if (headerwidth <= 0)
        then vcat (map snd xs)
        else vcat [fill headerwidth header <> colon <+> align doc
                  | (header,doc) <- xs]
tablex n xs
  = let (headers,docs) = unzip xs
        headerwidth    = maximum (map (length . show) headers)
    in indent n $
       if (headerwidth <= 0)
        then vcat (map snd xs)
        else vcat [fill headerwidth header <> colon <+> align doc
                  | (header,doc) <- xs]
tablex n xs
  = let (headers,docs) = unzip xs
        headerwidth    = maximum (map (length . show) headers)
    in indent n $
       if (headerwidth <= 0)
        then vcat (map snd xs)
        else vcat [fill headerwidth header <> colon <+> align doc
                  | (header,doc) <- xs]