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