Convert one type with a Cons instance into the other.
Rewrite rules are provided for efficient conversion between
String and Text, [Word8] and ByteString, and lazy and
strict Text and ByteString. Programs must be compiled
with -O to use them.
Although the type does not prove it, if (recons . recons)
exists it should obey:
recons . recons ≡ idThe NOINLINE pragma is used to ensure that recons does not
get inlined into function that are polymorphic in s1 or s2.
Such functions should use the INLINE pragma to give rewrite
rules the best chance of firing.