Module type Map.S

module type S = S 
   with type ('a, 'b, 'c) map := ('a, 'b, 'c) t 
   with type ('a, 'b, 'c) tree := ('a, 'b, 'c) tree