Data.Text.splitOn
Data.Text.isPrefixOf and Data.Text.isSuffixOf
intercalate
split/break functions are safe