Module Signature_group

type sig_item = {
  1. src : Types.signature_item;
  2. post_ghosts : Types.signature_item list;
}
val flatten : sig_item -> Types.signature
type core_rec_group =
  1. | Not_rec of sig_item
  2. | Rec_group of sig_item list
val rec_items : core_rec_group -> sig_item list
type rec_group = {
  1. pre_ghosts : Types.signature_item list;
  2. group : core_rec_group;
}
val next : Types.signature -> (rec_group * Types.signature) option
val iter : (rec_group -> unit) -> Types.signature -> unit
val fold : ('acc -> rec_group -> 'acc) -> 'acc -> Types.signature -> 'acc
type in_place_patch = {
  1. ghosts : Types.signature;
  2. replace_by : Types.signature_item option;
}
val replace_in_place : (ghosts:Types.signature -> Types.signature_item -> ('a * in_place_patch) option) -> Types.signature -> ('a * Types.signature) option