sig
  val pretty :
    'a Pretty_utils.formatter -> 'a Layout.cluster Pretty_utils.formatter
  val deref : pointed:'a Stdlib.Lazy.t -> Layout.deref -> 'a Layout.cluster
  val shift :
    Layout.Offset.cache ->
    'a Pretty_utils.formatter ->
    Layout.offset ->
    'a -> inline:bool -> 'a Layout.cluster -> 'a Layout.layout
  val merge :
    'a Pretty_utils.formatter ->
    'a Layout.merger ->
    'a Layout.cluster -> 'a Layout.cluster -> 'a Layout.cluster
  val is_empty : 'a Layout.cluster -> bool
  val is_garbled : 'a Layout.cluster -> bool
  val reshape :
    eq:('a -> 'a -> bool) ->
    flat:bool -> pack:bool -> 'a Layout.cluster -> 'a Layout.cluster
end