Signature_group
val flatten : sig_item -> Types.signature
val rec_items : core_rec_group -> sig_item list
val next : Types.signature -> (rec_group * Types.signature) option
val seq : Types.signature -> rec_group Seq.t
val iter : (rec_group -> unit) -> Types.signature -> unit
val fold : ('acc -> rec_group -> 'acc) -> 'acc -> Types.signature -> 'acc
val replace_in_place :
(ghosts:Types.signature ->
Types.signature_item ->
('a * in_place_patch) option) ->
Types.signature ->
('a * Types.signature) option