IsString package:protolude

IsString is used in combination with the -XOverloadedStrings language extension to convert the literals to different string types. For example, if you use the text package, you can say
{-# LANGUAGE OverloadedStrings  #-}

myText = "hello world" :: Text
Internally, the extension will convert this to the equivalent of
myText = fromString @Text ("hello world" :: String)
Note: You can use fromString in normal code as well, but the usual performance/memory efficiency problems with String apply.