sig
  val concat_map : ('-> 'b list) -> 'a list -> 'b list
  val equal : ('-> '-> bool) -> 'a list -> 'a list -> bool
  val compare : ('-> '-> int) -> 'a list -> 'a list -> int
end