> Is there any clean way to make a type 'a set, corresponding to > Set.Make > of a module with type t='a and compare=Pervasives.compare? I'm > trying > to make a module which uses sets of arbitrary types of objects, and I > don't want to have to make it a functor. I do not like functors. Sometimes it is not convenient. So, i have modified the standard lib's Set, Map and Hashtbl into non-functor versions. It is actually rearrange of standard lib's Set . Here is the code , I hope it will help. (It is called PtkSet) Best regards Tuzi