Module Traversable.Internal

type ('s, 'a) accum = {
accum : 's;
value : 'a;
}
type ('s, 'a) state = 's -> ('s'a) accum
val apply_state : ('s'a) state -> 's -> ('s'a) accum
module State_Left : functor (Type : Interface.TYPE) -> sig ... end
module State_Right : functor (Type : Interface.TYPE) -> sig ... end
module Map_Accum : functor (Type : Interface.TYPE) -> functor (T : Interface.TRAVERSABLE_F) -> sig ... end