The fixed-point type Mu Expr1 is isomorphic to Expr.
However, we can also add some attributes to the nodes:
The type AttrExpr1 a = Mu (Ann Expr1 a) is the type of
with the same structure, but with each node having an extra
field of type a.

The functions in this library work on types like that: Mu f,
where f is a functor, and sometimes explicitely on Attr f a.

This module re-exports most of the functionality present in the library.

The library should be fully Haskell98 compatible, with the exception
of the module Data.Generics.Fixplate.Structure, which needs
the Rank2Types extension. For compatibility, the functionality
of this module is at the moment only provided when compiled with GHC or Hugs.

Note: to obtain Eq, Ord, Show, Read and other instances for
fixed point types like Mu Expr1, consult the documentation of the
EqF type class (cf. the related OrdF, ShowF and ReadF classes)