leftmostLongest :: (Foldable t) => [t a] -> t a leftmostLongest xs = let lastElem = (last xs) filteredLst = (filter (\val -> (length val) == (length lastElem)) xs) in head filteredLst