sig
  val set_base_env : string -> unit
  val parse_program :
    string -> '-> ('-> Lexing.lexbuf -> CfAst.expr) -> CfAst.expr
  val error : string -> unit
  val current_file_loc : unit -> Loc.loc
  val set_env : string -> unit
  val add_import : string -> string
  val next_lex : Lexing.lexbuf -> Loc.loc * string
  val get_current_token : unit -> string
  val free_arg_list : Loc.loc -> string list -> CfAst.expr list
  val application_expr_of_namespace :
    Loc.loc -> string -> string list -> CfAst.stmt list -> CfAst.expr
  val application_of_namespace :
    Loc.loc -> string -> string list -> CfAst.stmt list -> CfAst.stmt
  val select_position : Loc.loc -> CfAst.expr -> int -> CfAst.expr
  val connect_name : Loc.loc -> Loc.loc * string -> CfAst.expr -> CfAst.expr
  val stmt_of_comp_named :
    Loc.loc ->
    Loc.loc * string -> string list -> CfAst.stmt list -> CfAst.stmt
  val application_of_prefix : Loc.loc * string -> CfAst.expr -> CfAst.expr
  val application_of_infix :
    Loc.loc * string -> CfAst.expr -> CfAst.expr -> CfAst.expr
  val application_of_trifix :
    Loc.loc * string -> CfAst.expr -> CfAst.expr -> CfAst.expr -> CfAst.expr
  val conditional_of_ifelse :
    Loc.loc -> CfAst.expr -> CfAst.stmt list -> CfAst.stmt list -> CfAst.stmt
  val format_string : string -> string
  val application_of_string : Loc.loc -> string -> CfAst.expr
end