sig
  type equatable
  val ( = ) : equatable -> equatable -> bool
  val ( <> ) : equatable -> equatable -> bool
  val equal : equatable -> equatable -> bool
end