I have the following functor code:
module type EQ = sig
type t
val eq : t -> t -> bool
end
module type SET = sig
type elt
type t
val empty : t
val is_element : elt -> t -> bool
val add : elt -> t -> t
end
module Make_Set (Elt : EQ) : SET with type elt := Elt.t = struct
type elt = Elt.t
type t = elt list
let empty = []
let rec is_element i set =
match set with [] -> false | x :: xs -> Elt.eq x i || is_element i xs
let add i set = if is_element i set then set else i :: set
end
The code above compiles with the following message:
val is_element : elt -> t -> bool
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Warning 32 [unused-value-declaration]: unused value is_element.
Does anybody tell me how to remove the warning/error message?