sig
  type literal
  val get_sign : Ic.BodyLiteral.literal -> Ic.sign
  val get_predicate : Ic.BodyLiteral.literal -> Predicate.predicate
  val get_atom : Ic.BodyLiteral.literal -> Term.term
  val get_reader : Ic.BodyLiteral.literal -> Access.Reader.reader
  val get_foreign_context : Ic.BodyLiteral.literal -> Term.context
  val get_is_delta : Ic.BodyLiteral.literal -> bool
  val get_builtin : Ic.BodyLiteral.literal -> Term.p
  val make_literal :
    Predicate.predicate_table ->
    Term.symbol_table -> Term.term -> Ic.BodyLiteral.literal
  val print_optim_info : Ic.BodyLiteral.literal -> unit
end