sig
  type channel = out_channel
  type document = document
  val pretty : float -> int -> channel -> document -> unit
  val compact : channel -> document -> unit
end