sig
  val ( $| ) : Cf_dfa.T.expr_t -> Cf_dfa.T.expr_t -> Cf_dfa.T.expr_t
  val ( $& ) : Cf_dfa.T.expr_t -> Cf_dfa.T.expr_t -> Cf_dfa.T.expr_t
  val ( !* ) : Cf_dfa.T.expr_t -> Cf_dfa.T.expr_t
  val ( !+ ) : Cf_dfa.T.expr_t -> Cf_dfa.T.expr_t
  val ( !? ) : Cf_dfa.T.expr_t -> Cf_dfa.T.expr_t
  val ( !: ) : S.t -> Cf_dfa.T.expr_t
  val ( !^ ) : (S.t -> bool) -> Cf_dfa.T.expr_t
  val ( !~ ) : S.t Cf_seq.t -> Cf_dfa.T.expr_t
  val ( $= ) :
    Cf_dfa.T.expr_t -> '-> (S.t #Cf_dfa.cursor, 'a) Cf_dfa.T.rule_t
  val ( $> ) :
    Cf_dfa.T.expr_t ->
    (S.t Cf_seq.t -> 'a) -> (S.t #Cf_dfa.cursor, 'a) Cf_dfa.T.rule_t
  val ( $@ ) :
    Cf_dfa.T.expr_t ->
    (int -> (S.t #Cf_dfa.cursor as 'a, 'b) Cf_dfa.T.t) ->
    ('a, 'b) Cf_dfa.T.rule_t
  val ( !@ ) :
    (S.t #Cf_dfa.cursor as 'a, 'b) Cf_dfa.T.rule_t list ->
    ('a, 'b) Cf_dfa.T.rule_t
end