+import Data.Monoid (Monoid(..))
+import Data.Sequence (Seq, empty, singleton, (<|), (|>), fromList,
+ ViewL(..), ViewR(..), viewl, viewr)
+import Data.Foldable (Foldable(foldMap), toList)
+import Data.Traversable (Traversable(traverse))
+import Data.Typeable
+
+#ifdef __GLASGOW_HASKELL__
+import Data.Generics.Basics (Data)
+#endif