Best practice for emulating type classes in OCaml

Upon searching for something comparable to templates in C++, I came across type class in Haskell: anyMax :: MyOrdered a => [a] -> Maybe a where any type a instantiating MyOrdered works with anyMax. Is there any cleaner solution?