sig
  val garbled :
    Layout.Offset.cache -> Layout.offset -> 'a -> 'a Layout.layout
  val reshape :
    eq:('a -> 'a -> bool) ->
    flat:bool -> pack:bool -> 'a Layout.layout -> 'a Layout.layout
end