sig
  type 'a undoAlphaElement
  type 'a alphaTableData
  val newAlphaName :
    alphaTable:(string, 'Alpha.alphaTableData Pervasives.ref) Hashtbl.t ->
    ?undolist:'Alpha.undoAlphaElement list Pervasives.ref ->
    lookupname:string -> data:'-> string * 'a
  val registerAlphaName :
    alphaTable:(string, 'Alpha.alphaTableData Pervasives.ref) Hashtbl.t ->
    ?undolist:'Alpha.undoAlphaElement list Pervasives.ref ->
    lookupname:string -> data:'-> unit
  val docAlphaTable :
    Format.formatter ->
    (string, 'Alpha.alphaTableData Pervasives.ref) Hashtbl.t -> unit
  val getAlphaPrefix : lookupname:string -> string
  val undoAlphaChanges :
    alphaTable:(string, 'Alpha.alphaTableData Pervasives.ref) Hashtbl.t ->
    undolist:'Alpha.undoAlphaElement list -> unit
end