Module type SlicingMarks.T_Mark


module type T_Mark = sig .. end
Signature to define what we have to be able to do on marks to use SlicingMarks.F_SigMarks

type t 
val bottom : t
val is_bottom : t -> bool
val merge : t -> t -> t
val inter_all : t list -> t
val merge_user_marks : t -> t -> t
val missing_input : call:t ->
called:t -> t option
returns the mark that is missing in the call input (if any) to be able to call the called function.
val missing_output : call:t ->
called:t -> t option
returns the mark that is missing in called output (if any) to be able to call that function for this call.
val mk_gen_spare : t
generated spare = the smallest visible mark
val pretty : Format.formatter -> t -> unit