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