sig
  type t
  val create :
    w:int ->
    h:int ->
    length:int ->
    ?first:int ->
    generate:(int -> Bogue.Layout.t) ->
    ?height_fn:(int -> int option) ->
    ?cleanup:(Bogue.Layout.t -> unit) ->
    ?max_memory:int ->
    ?linear:bool -> ?scrollbar_width:int -> unit -> Bogue.Layout.t
end