module Ascii_table: Ascii_table
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