sig
  type attr =
      Class of string
    | Id of string
    | Style of string
    | Language of string
  type img_float = Float_left | Float_right
  type talign = Right | Left | Center | Justify
  type valign = Top | Middle | Bottom
  type padding = int * int
  type options = Textile.attr list * Textile.talign option * Textile.padding
  type phrase =
      CData of string
    | Emphasis of (Textile.attr list * Textile.phrase list)
    | Strong of (Textile.attr list * Textile.phrase list)
    | Italic of (Textile.attr list * Textile.phrase list)
    | Bold of (Textile.attr list * Textile.phrase list)
    | Citation of (Textile.attr list * Textile.phrase list)
    | Deleted of (Textile.attr list * Textile.phrase list)
    | Inserted of (Textile.attr list * Textile.phrase list)
    | Superscript of (Textile.attr list * Textile.phrase list)
    | Subscript of (Textile.attr list * Textile.phrase list)
    | Span of (Textile.attr list * Textile.phrase list)
    | Code of (Textile.attr list * string)
    | Notextile of string
    | Acronym of string * string
    | Image of Textile.attr list * Textile.img_float option * string *
        string option
    | Link of (Textile.attr list * Textile.phrase list) * string option *
        string
    | Reference of int
  type line = Textile.phrase list
  type element = int * Textile.line
  type tableoptions = Textile.options * Textile.valign option
  type celltype = Data | Head
  type cellspan = int option * int option
  type celloptions =
      Textile.celltype * Textile.tableoptions * Textile.cellspan
  type cell = Textile.celloptions * Textile.line list
  type row = Textile.tableoptions * Textile.cell list
  type block =
      Header of int * (Textile.options * Textile.line list)
    | Blockquote of (Textile.options * Textile.line list)
    | Footnote of int * (Textile.options * Textile.line list)
    | Paragraph of (Textile.options * Textile.line list)
    | Blockcode of (Textile.options * string list)
    | Pre of (Textile.options * string list)
    | Blocknott of (Textile.options * string list)
    | Numlist of Textile.element list
    | Bulllist of Textile.element list
    | Table of (Textile.tableoptions * Textile.row list)
  val string_of_line : Textile.line -> string
end