Using_comparator.Empty_without_value_restriction
To get around the value restriction, apply the functor and include it. You can see an example of this in the Poly submodule below.
Poly
module K : Comparator.S1
val empty : ('a K.t, 'v, K.comparator_witness) t