sig
  type unary
  type binary
  type 'a t
  type arity = Unary | Binary
  type assoc = Camlp4.Sig.Grammar.assoc = NonA | RightA | LeftA
  type 'a precedence =
      Highest
    | Higher of 'Pa_infix.Level.t
    | Lower of 'Pa_infix.Level.t
    | Lowest
  exception Bad_arity
  val compare : 'Pa_infix.Level.t -> 'Pa_infix.Level.t -> int
  val binary :
    ?name:string ->
    ?assoc:Pa_infix.Level.assoc ->
    Pa_infix.Level.binary Pa_infix.Level.precedence ->
    Pa_infix.Level.binary Pa_infix.Level.t
  val unary :
    ?name:string ->
    Pa_infix.Level.unary Pa_infix.Level.precedence ->
    Pa_infix.Level.unary Pa_infix.Level.t
  val name : 'Pa_infix.Level.t -> string
  val arity : 'Pa_infix.Level.t -> Pa_infix.Level.arity
  val assoc : 'Pa_infix.Level.t -> Pa_infix.Level.assoc
  val assignment : Pa_infix.Level.binary Pa_infix.Level.t
  val disjunction : Pa_infix.Level.binary Pa_infix.Level.t
  val conjunction : Pa_infix.Level.binary Pa_infix.Level.t
  val comparison : Pa_infix.Level.binary Pa_infix.Level.t
  val concatenation : Pa_infix.Level.binary Pa_infix.Level.t
  val addition : Pa_infix.Level.binary Pa_infix.Level.t
  val multiplication : Pa_infix.Level.binary Pa_infix.Level.t
  val exponentiation : Pa_infix.Level.binary Pa_infix.Level.t
  val default_unary : Pa_infix.Level.unary Pa_infix.Level.t
end