ziv@2244: functor OptionKeyFn(K : ORD_KEY) ziv@2244: : ORD_KEY where type ord_key = K.ord_key option = struct ziv@2240: ziv@2240: type ord_key = K.ord_key option ziv@2240: ziv@2240: val compare = ziv@2240: fn (NONE, NONE) => EQUAL ziv@2240: | (NONE, _) => LESS ziv@2240: | (_, NONE) => GREATER ziv@2240: | (SOME x, SOME y) => K.compare (x, y) ziv@2240: ziv@2240: end