sig
  val string_of_cexpr : Flx_ctypes.cexpr_t -> string
  val sc : Flx_ast.prec_t -> Flx_ctypes.cexpr_t -> string
  val ce : Flx_ast.prec_t -> string -> Flx_ctypes.cexpr_t
  val ce_atom : string -> Flx_ctypes.cexpr_t
  val ce_postfix : string -> Flx_ctypes.cexpr_t -> Flx_ctypes.cexpr_t
  val ce_prefix : string -> Flx_ctypes.cexpr_t -> Flx_ctypes.cexpr_t
  val ce_infix :
    string -> Flx_ctypes.cexpr_t -> Flx_ctypes.cexpr_t -> Flx_ctypes.cexpr_t
  val ce_call :
    Flx_ctypes.cexpr_t -> Flx_ctypes.cexpr_t list -> Flx_ctypes.cexpr_t
  val ce_array :
    Flx_ctypes.cexpr_t -> Flx_ctypes.cexpr_t -> Flx_ctypes.cexpr_t
  val ce_new :
    Flx_ctypes.cexpr_t list ->
    string -> Flx_ctypes.cexpr_t list -> Flx_ctypes.cexpr_t
  val ce_cast : string -> Flx_ctypes.cexpr_t -> Flx_ctypes.cexpr_t
  val ce_cond :
    Flx_ctypes.cexpr_t ->
    Flx_ctypes.cexpr_t -> Flx_ctypes.cexpr_t -> Flx_ctypes.cexpr_t
  val ce_expr : Flx_ast.prec_t -> string -> Flx_ctypes.cexpr_t
  val ce_top : string -> Flx_ctypes.cexpr_t
  val ce_dot : Flx_ctypes.cexpr_t -> string -> Flx_ctypes.cexpr_t
  exception Unknown_prec of Flx_ast.prec_t
  val genprec : string -> Flx_ast.prec_t -> string * Flx_ast.prec_t
end