sig   type param =       value_message * Cil_types.kinstr * callstack * (state * Trace.t)   type result = unit   val extend : (param -> result) -> unit   val extend_once : (param -> result) -> unit   val is_empty : unit -> bool   val clear : unit -> unit   val length : unit -> int   val apply :     Value_messages.value_message * Cil_types.kinstr *     Value_messages.callstack * (Value_messages.state * Trace.t) -> result end