sig type 'a t = 'type comparator val comparator : ('a t, comparator) t_ end