sig
  exception EraseAssigns
  exception EraseAllocation
  type proj
  type fct
  val fct_info :
    Filter.RemoveInfo.proj ->
    Cil_types.kernel_function -> Filter.RemoveInfo.fct list
  val fct_name : Cil_types.varinfo -> Filter.RemoveInfo.fct -> string
  val param_visible : Filter.RemoveInfo.fct -> int -> bool
  val body_visible : Filter.RemoveInfo.fct -> bool
  val loc_var_visible : Filter.RemoveInfo.fct -> Cil_types.varinfo -> bool
  val inst_visible : Filter.RemoveInfo.fct -> Cil_types.stmt -> bool
  val label_visible :
    Filter.RemoveInfo.fct -> Cil_types.stmt -> Cil_types.label -> bool
  val annotation_visible :
    Filter.RemoveInfo.fct ->
    Cil_types.stmt -> Cil_types.code_annotation -> bool
  val fun_precond_visible :
    Filter.RemoveInfo.fct -> Cil_types.predicate -> bool
  val fun_postcond_visible :
    Filter.RemoveInfo.fct -> Cil_types.predicate -> bool
  val fun_variant_visible : Filter.RemoveInfo.fct -> Cil_types.term -> bool
  val fun_frees_visible :
    Filter.RemoveInfo.fct -> Cil_types.identified_term -> bool
  val fun_allocates_visible :
    Filter.RemoveInfo.fct -> Cil_types.identified_term -> bool
  val fun_assign_visible :
    Filter.RemoveInfo.fct -> Cil_types.identified_term Cil_types.from -> bool
  val fun_deps_visible :
    Filter.RemoveInfo.fct -> Cil_types.identified_term -> bool
  val called_info :
    Filter.RemoveInfo.proj * Filter.RemoveInfo.fct ->
    Cil_types.stmt ->
    (Cil_types.kernel_function * Filter.RemoveInfo.fct) option
  val res_call_visible : Filter.RemoveInfo.fct -> Cil_types.stmt -> bool
  val result_visible :
    Cil_types.kernel_function -> Filter.RemoveInfo.fct -> bool
  val cond_edge_visible :
    Filter.RemoveInfo.fct -> Cil_types.stmt -> bool * bool
end