type t
The type of the accumlator
type data
The type of the folded in values.
val init : t
The initial value of the accumulator.
val f : t ‑> data ‑> t
The folding function.