{-# LANGUAGE OverloadedStrings #-} import Data.Monoid import Blaze.ByteString.Builder as B import Blaze.ByteString.Builder.Char.Utf8 as BT import qualified Data.ByteString.Char8 as BS import qualified Data.Text as T import qualified Data.Text.Encoding as T import Criterion.Main concatBT :: [T.Text] -> T.Text concatBT = T.decodeUtf8 . B.toByteString . mconcat . map BT.fromText concatBB :: [BS.ByteS