maxFieldLengths :: [RecipeFieldLengths] -> RecipeFieldLengths
maxFieldLengths xs = (maximum a, maximum b, maximum c)
  where
    (a, b, c) = unzip3 xs

-- Field lengths implied by a section are defined as follows. First, size each
-- field so it's big enough to fit that field for all of the ingredients in the
-- section. But if the section name is too long to render that way, expand the
-- second (ingredient name) field so all of it fits.
maxFieldLengths :: [RecipeFieldLengths] -> RecipeFieldLengths
maxFieldLengths xs = (maximum a, maximum b, maximum c)
  where
    (a, b, c) = unzip3 xs

-- Field lengths implied by a section are defined as follows. First, size each
-- field so it's big enough to fit that field for all of the ingredients in the
-- section. But if the section name is too long to render that way, expand the
-- second (ingredient name) field so all of it fits.
maxFieldLengths xs = (maximum a, maximum b, maximum c)
  where
    (a, b, c) = unzip3 xs

-- Field lengths implied by a section are defined as follows. First, size each
-- field so it's big enough to fit that field for all of the ingredients in the
-- section. But if the section name is too long to render that way, expand the
-- second (ingredient name) field so all of it fits.