module Fsautil:sig..end
val list_of_self : int -> 'a -> 'a list
val cross_product : 'a list -> 'b list -> ('a * 'b) list
module MakeOrderedSetPair:functor (Ordered:Set.OrderedType) ->Set.OrderedTypewith type t = (Ordered.t * Ordered.t)