Memory.Edgesinclude IStdlib.RecencyMap.S
  with type key = Access.t
   and type value = needs_canon * Pulselib.PulseBasicInterface.ValueHistory.t
  with type t = PulseBaseMemory.Edges.ttype t = PulseBaseMemory.Edges.tNote that the derived compare and equal functions are sensitive to the underlying implementation and in particular won't equate some objects that denote the same map.
include Ppx_compare_lib.Comparable.S with type t := tval compare : t Base__Ppx_compare_lib.compareinclude Ppx_compare_lib.Equal.S with type t := tval equal : t Base__Ppx_compare_lib.equaltype key = Access.ttype value = needs_canon * Pulselib.PulseBasicInterface.ValueHistory.tval pp : IStdlib.RecencyMap.F.formatter -> t -> unitval empty : tval is_empty : t -> boolval mapi : 
  t ->
  f:
    (key ->
      (needs_canon * Pulselib.PulseBasicInterface.ValueHistory.t) ->
      Pulselib.PulseBasicInterface.AbstractValue.t
      * Pulselib.PulseBasicInterface.ValueHistory.t) ->
  tval canonicalize : 
  get_var_repr:
    (Pulselib.PulseBasicInterface.AbstractValue.t ->
      Pulselib.PulseBasicInterface.AbstractValue.t) ->
  t ->
  tval merge : 
  f:
    (key ->
      (needs_canon * Pulselib.PulseBasicInterface.ValueHistory.t) option ->
      (needs_canon * Pulselib.PulseBasicInterface.ValueHistory.t) option ->
      (Pulselib.PulseBasicInterface.AbstractValue.t
       * Pulselib.PulseBasicInterface.ValueHistory.t)
        option) ->
  t ->
  t ->
  t