# Module Std.Text_block

    module Text_block: Text_block

    type t

    val nil : t

    val fill : char -> width:int -> height:int -> t

    val space : width:int -> height:int -> t

    type valign = [ `Bottom | `Center | `Top ]

    type halign = [ `Center | `Left | `Right ]

    val text : ?align:halign -> string -> t

    val vcat : ?align:halign ->
           ?sep:t -> t list -> t

    val hcat : ?align:valign ->
           ?sep:t -> t list -> t

    val width : t -> int

    val height : t -> int

    val valign : valign -> t list -> t list

    val halign : halign -> t list -> t list

    val hstrut : int -> t

    val vstrut : int -> t

    val render : t -> string

    val compress_table_header : ?sep_width:int ->
           [ `Cols of (t * t list * halign) list ] ->
           [ `Header of t ] * [ `Rows of t list ]