The paper is "Upwards and downwards accumulations on trees."
There's no real need for it to be right-associative. If we wanted to, we could add an 'Eq' constraint to the 'a' in 'TreeF a' to make it a true zipWith. Then, we would check for equality on the first args in 'Cons' and 'Bin'.
* Examples: zipWith, iterate for List and Tree
* Examples: zipWith, iterate
* Created new ZipWithR class w/method. This is necessary for ain'. * Developed working instance for Counter. * Changed all AAlgebra instances. * Changed all smart constructors and primitive recursion functions.
Morphisms: cata, ana, hylo, para, and zygo
This is a work in progress. I next plan to work on support incremental attributes.