# Module Ascii_table

    module Ascii_table: sig .. end

creates a column given the header and the to-string function

    module Align: sig .. end

    module Display: sig .. end

    module Column: sig .. end

    type ('row, 'rest) renderer = ?display:Display.t ->
           ?spacing:int ->
           ?limit_width_to:int ->
           ?header_attr:Console.Ansi.attr list ->
           ?bars:[ `Ascii | `Unicode ] ->
           'row Column.t list -> 'row list -> 'rest

    val output : ('a, oc:Core.Std.Out_channel.t -> unit) renderer

The idea is that you have a Column.t list and a list of rows, where each row contains the data for each column. So e.g. 'a could be a record type , where the first column pulls out col_1 and the second column pulls out col_2. *

    val to_string_noattr : ('a, string) renderer

    val to_string : ('a, string) renderer

    val simple_list_table : ?index:bool ->
           ?limit_width_to:int ->
           ?oc:Core.Std.Out_channel.t ->
           ?display:Display.t -> string list -> string list list -> unit

    module Table_char: sig .. end