type order = Less | Equal | Greater module type SET = sig type element val cmp : element -> element -> order type set val empty : set val member : element -> set -> bool val add : element -> set -> set val remove : element -> set -> set end