-# if __GLASGOW_HASKELL__ < 200
-# define FAST_STRING _PackedString
-# define SLIT(x) (_packCString (A# x#))
-# define _CMP_STRING_ cmpPString
-# define _NULL_ _nullPS
-# define _NIL_ _nilPS
-# define _CONS_ _consPS
-# define _HEAD_ _headPS
-# define _TAIL_ _tailPS
-# define _LENGTH_ _lengthPS
-# define _PK_ _packString
-# define _UNPK_ _unpackPS
-# define _SUBSTR_ _substrPS
-# define _APPEND_ `_appendPS`
-# define _CONCAT_ _concatPS
-# else
-# define FAST_STRING GHCbase.PackedString
-# define SLIT(x) (packCString (GHCbase.A# x#))
-# define _CMP_STRING_ cmpPString
-# define _NULL_ nullPS
-# define _NIL_ nilPS
-# define _CONS_ consPS
-# define _HEAD_ headPS
-# define _TAIL_ tailPS
-# define _LENGTH_ lengthPS
-# define _PK_ packString
-# define _UNPK_ unpackPS
-# define _SUBSTR_ substrPS
-# define _APPEND_ `appendPS`
-# define _CONCAT_ concatPS
-# endif
+# define FAST_STRING FastString.FastString
+# define SLIT(x) (FastString.mkFastCharString# (x#))
+# define _NULL_ FastString.nullFastString
+# define _NIL_ (FastString.mkFastString "")
+# define _CONS_ FastString.consFS
+# define _HEAD_ FastString.headFS
+# define _HEAD_INT_ FastString.headIntFS
+# define _TAIL_ FastString.tailFS
+# define _LENGTH_ FastString.lengthFS
+# define _PK_ FastString.mkFastString
+# define _PK_INT_ FastString.mkFastStringInt
+# define _UNPK_ FastString.unpackFS
+# define _UNPK_INT_ FastString.unpackIntFS
+# define _APPEND_ `FastString.appendFS`
+# define _CONCAT_ FastString.concatFS