sig
  type from_file = {
    file : string;
    name : string option;
    loc : ParseLocation.t option;
  }
  type t =
      From_file of StatementSrc.from_file
    | Neg of StatementSrc.t
    | CNF of StatementSrc.t
  val file : StatementSrc.from_file -> string
  val name : StatementSrc.from_file -> string option
  val loc : StatementSrc.from_file -> ParseLocation.t option
  val from_file :
    ?loc:ParseLocation.t -> ?name:string -> string -> StatementSrc.t
  val neg : StatementSrc.t -> StatementSrc.t
  val cnf : StatementSrc.t -> StatementSrc.t
  val pp_from_file : StatementSrc.from_file CCFormat.printer
  val pp : t CCFormat.printer
  val to_string : t -> string
end