sig
  type 'a k
  val create_key : string -> 'Structure.Key.k
  val eq_type :
    'Structure.Key.k -> 'Structure.Key.k -> ('a, 'b) Structure.eq option
  val print : 'Structure.Key.k Pretty_utils.formatter
  val compare : 'Structure.Key.k -> 'Structure.Key.k -> int
  val equal : 'Structure.Key.k -> 'Structure.Key.k -> bool
  val hash : 'Structure.Key.k -> int
  val tag : 'Structure.Key.k -> int
end