úÎ!ª2+      !"#$%&'()*None24TStrÆ types are any type which can be thought as abstract strings; that is, ordered lists of Char. There are at least 3 commonly-used string types in Haskell (String, ByteString and Text), as well as newtypeRd strings. The interop with these types can be tedious or even bug-prone. Using Strÿ7 allows functions to be written agnostically towards any particular type. It provides a set of commonly-needed string manipulation functions, and the ability to convert to and from a variety of string types, which lets us "borrow" existing functions which only operate on one of the types (see the various as- functions). Str< extends several useful classes, perhaps most importantly IsString3, which lets us use string literals to represent Strs. Generalizes show to return any string type. Generalizes error to accept any string type. Generalizes putStrLn."Generalizes functions that take a String."Generalizes functions that take a  ByteString.$Generalizes functions that take two  ByteStrings. !Converts a function that takes a Text into one that takes any Str.!%Converts a function that operates on Strings to one that operates on any Str."%Converts a function that operates on  ByteStrings to one that operates on any Str.#%Converts a function that operates on Text to one that operates on any Str.$Same as asString but for functions with arity 2.%Same as  asByteString but for functions with arity 2.&CJoins strings with newline separation, and adds a trailing newline.'Joins strings with newlines.(Joins strings with commas.)Joins strings with semicolons.*#Joins strings with forward slashes..  !"#+$%,&'()*-./+  !"#$%&'()*+ '()*!"#$% &  !"#+$%,&'()*-./0      !"#$%&'()*+,-./01234 str-0.1.0.0Text.Strbase Data.String fromStringIsStringStrtoString toByteStringtoTexttoOctetstoHexfromTextfromByteString fromOctetsjoinBysplitOnsmap singletonconssnoclowerupper capitalizereverselength dropWhile isPrefixOf isSuffixOftrimshowerrorputStrLn wrapStringwrapByteStringwrapByteString2wrapTextasString asByteStringasText asString2 asByteString2unlines joinLines joinCommas joinSemis joinSlashesasOctets asOctets2 $fStrText$fStrByteString$fStr[]