functor (Sym : Symbol->
  sig
    type t
    and elt = Sym.t
    val empty : Ranked_alphabet.S.t
    val is_empty : Ranked_alphabet.S.t -> bool
    val rank : Ranked_alphabet.S.elt -> int
    val mem : Ranked_alphabet.S.elt -> Ranked_alphabet.S.t -> bool
    val add :
      Ranked_alphabet.S.elt -> Ranked_alphabet.S.t -> Ranked_alphabet.S.t
    val singleton : Ranked_alphabet.S.elt -> Ranked_alphabet.S.t
    val remove :
      Ranked_alphabet.S.elt -> Ranked_alphabet.S.t -> Ranked_alphabet.S.t
    val union :
      Ranked_alphabet.S.t -> Ranked_alphabet.S.t -> Ranked_alphabet.S.t
    val inter :
      Ranked_alphabet.S.t -> Ranked_alphabet.S.t -> Ranked_alphabet.S.t
    val diff :
      Ranked_alphabet.S.t -> Ranked_alphabet.S.t -> Ranked_alphabet.S.t
    val compare : Ranked_alphabet.S.t -> Ranked_alphabet.S.t -> int
    val equal : Ranked_alphabet.S.t -> Ranked_alphabet.S.t -> bool
    val subset : Ranked_alphabet.S.t -> Ranked_alphabet.S.t -> bool
    val iter : (Ranked_alphabet.S.elt -> unit) -> Ranked_alphabet.S.t -> unit
    val fold :
      (Ranked_alphabet.S.elt -> '-> 'a) -> Ranked_alphabet.S.t -> '-> 'a
    val for_all :
      (Ranked_alphabet.S.elt -> bool) -> Ranked_alphabet.S.t -> bool
    val exists :
      (Ranked_alphabet.S.elt -> bool) -> Ranked_alphabet.S.t -> bool
    val partition :
      (Ranked_alphabet.S.elt -> bool) ->
      Ranked_alphabet.S.t -> Ranked_alphabet.S.t * Ranked_alphabet.S.t
    val cardinal : Ranked_alphabet.S.t -> int
    val elements : Ranked_alphabet.S.t -> Ranked_alphabet.S.elt list
    val min_elt : Ranked_alphabet.S.t -> Ranked_alphabet.S.elt
    val max_elt : Ranked_alphabet.S.t -> Ranked_alphabet.S.elt
    val choose : Ranked_alphabet.S.t -> Ranked_alphabet.S.elt
    val to_string : Ranked_alphabet.S.t -> string
    val elt_to_string : Ranked_alphabet.S.elt -> string
    val from_list : Ranked_alphabet.S.elt list -> Ranked_alphabet.S.t
  end