a() :: term()
b() :: term()
t() :: term()
reducel(t(), b(), (a(), b() -> b())) :: b()
reducer(t(), b(), (a(), b() -> b())) :: b()