Code cleanup.

I no longer split classes in different files. I now prefer to use
partials in the same class.
Added some cata & ana-morphisms