5 способов объединить строки в Haskell

В Haskell существует несколько методов объединения строк. Вот несколько примеров:

Метод 1. Использование оператора ++

concatStrings :: String -> String -> String
concatStrings str1 str2 = str1 ++ str2

Метод 2: использование функции concat

concatStrings :: [String] -> String
concatStrings strs = concat strs

Метод 3. Использование функции foldr

concatStrings :: [String] -> String
concatStrings strs = foldr (++) "" strs

Метод 4. Использование функции intercalateиз модуля Data.List

import Data.List (intercalate)
concatStrings :: [String] -> String
concatStrings strs = intercalate "" strs

Метод 5: использование функции mconcatиз модуля Data.Monoid

import Data.Monoid (mconcat)
concatStrings :: [String] -> String
concatStrings strs = mconcat strs