Description
Lightweight generic library for mutually recursive data types.
Description
Multiplate is an alternative extension of the Uniplate/Compos core library to support mutally recursive datatypes in a way that is as powerful as Compos, as easy to use as Biplate, and more portable than both of them. Multiplate does not require GADTs and does not require multi-parameter type classes. It only requires rank 3 polymorphism.