Implement alter.
Fix up some excessively long lines
Add a newtype to provide smaller Arbitrary instances

--HG--
extra : histedit_source : 50167f9be84d2873ba8664f50df8f8efc6da8455%2C77aabca502b02976a8eecab587d0967ff6b222b6
Improve performance of t_unions and t_unionsWith

--HG--
extra : histedit_source : c66a4870326ee9f083c7c7eb672409b1f0b9450f%2C31b2cb563183462e47b7aead177f9e4df4b5a9d7
Merge pull request #32 from archblob/Deletion

Implement alter.
Fix a little naming and indentation in alter
Simplify alter a bit