Mutable strings

The presence of mutable strings causes problems similar to some of the problems caused by the presence of mutable pairs. Hence, the same reasoning applies for moving the mutation operations into a separate library.