open OrderedSig module type Sortable = sig module Element : Ordered type sortable val empty : sortable val add : Element.t -> sortable -> sortable val sort : sortable -> Element.t list end