úÎMS4      !"#$%&'()*+,-./0123Safe9:;<=MClass that yields g-coalgebra homomorphisms between mutually recursive types.;Homomorphism of g-coalgebras paramterized by an f-coalgebraKClass that yields g-algebra homomorphisms between mutually recursive types.7Homomorphism of g-algebras parametrized by an f-algebraTEntangle two hylomorphisms. Not the same thing as a symplectomorphism from geometry.8A dendromorphism allows us to entangle two catamorphisms \Catamorphism collapsing along two data types simultaneously. Basically a fancy zygomorphism. =A micromorphism is an Elgot algebra specialized to unfolding.  A g-algebra A g-coalgebra An f-algebraAn f-coalgebra dummy typeA (Base t)-algebraA (Base t')-algebra      None 234:<=DR$We call our co-dependent data types   and #. They represent mutually recursive'"Dendromorphism collapsing the tree(0We get two dendromorphisms for the price of one!):Catamorphism, which collapses the tree, but not very well.*-Another catamorphism that is stupid and lame. 4#$%&56'(78)*+,-.9 #&$%'()* #$%&')(*  4#$%&56'(78)*+,-.9:      !"##$%&'()*+,-./01234567894recursion-schemes-ext-0.1.0.2-L4X4AADzefr2zB62h2Gwzk Data.Foldable.Functor.ExtensionsData.Foldable.Functor.ExamplesDummydummyCoSubHomhomoCoSubHomhomo symplectochemadendrodicatamicrocataMErnieMultiplyListBertNumStringAdd $fShowErnie $fEqErnie $fShowBert$fEqBertBertFNumFStringFAddF$fCorecursiveBert$fRecursiveBert$fFunctorBertF$fFoldableBertF$fTraversableBertFErnieF MultiplyFListFcollapseErnieSyntaxTreecollapseBertSyntaxTreecollapseErnieSyntaxTree'collapseBertSyntaxTree'$fSubHomBertFErnieFBertErnie$fSubHomErnieFBertFErnieBert $fDummyErnie $fDummyBert$fCorecursiveErnie$fRecursiveErnie$fFunctorErnieF$fFoldableErnieF$fTraversableErnieF D:R:BaseBert bertAlgebra ernieAlgebra bertAlgebra' ernieAlgebra' D:R:BaseErnie