functor (S : Set.S) -> sig val red : S.t Reducer.t end