úÎx²1      !"#$%&'()*+,-./0Safe 9:;<=@OT$Just wanted this available somewhereTEntangle two hylomorphisms. Not the same thing as a symplectomorphism from geometry.,A dendromorphism entangles two catamorphisms\Catamorphism collapsing along two data types simultaneously. Basically a fancy zygomorphism.=A micromorphism is an Elgot algebra specialized to unfolding.A monadic catamorphismA monadic anamorphismA monadic hylomorphism 1/A prism parametric in an F-algebra that allows b to inspect itself.0A lens parametric in an F-coalgebra that allows b to inspect itself. A g-algebra A g-coalgebra An f-algebraAn f-coalgebra0A lens parametric in an F-coalgebra that allows b to inspect itself.A (Base t)-coalgebraA (Base t')-coalgebra/A prism parametric in an F-algebra that allows b to inspect itself.A (Base t)-algebraA (Base t')-algebra   1None23457:<=DR $We call our co-dependent data types   and  #. They represent mutually recursive2 BertF-algebra3ErnieF-algebra(xDendromorphism collapsing the tree. Note that we can use the same F-algebras here as we would in a normal catamorphism.)MWe can generate two functions by swapping the F-algebras and the dummy type.*5Catamorphism, which collapses the tree the usual way. 4#$%&'23()*+5 #$'%&()*+  #$%&'(*)+  4#$%&'23()*+56       !"##$%&'()*+,-./0123454recursion-schemes-ext-0.2.1.0-KaGb408t9z6GayxF0NoBk7Data.Functor.Foldable.ExoticData.Functor.Foldable.Examplesmutu symplectochemadendrodicatamicrocataManaMhyloMErnieMultiplyListBertNumStringAdd $fShowErnie $fEqErnie$fGenericErnie $fNFDataErnie $fShowBert$fEqBert $fGenericBert $fNFDataBertErnieF MultiplyFListF$fCorecursiveErnie$fRecursiveErnie$fFunctorErnieF$fFoldableErnieF$fTraversableErnieFBertFNumFStringFAddFcollapseErnieSyntaxTreecollapseBertSyntaxTreecollapseErnieSyntaxTree'collapseBertSyntaxTree'$fCorecursiveBert$fRecursiveBert$fFunctorBertF$fFoldableBertF$fTraversableBertF UnsafePrism bertAlgebra ernieAlgebra D:R:BaseErnie D:R:BaseBert