sig
  type t
  val draw :
    ?color:Mlpost.Color.t ->
    ?pen:Mlpost.Pen.t ->
    ?dashed:Mlpost.Dash.t -> Mlpost.Path.t -> Mlpost.Command.t
  val draw_arrow :
    ?color:Mlpost.Color.t ->
    ?pen:Mlpost.Pen.t ->
    ?dashed:Mlpost.Dash.t -> Mlpost.Path.t -> Mlpost.Command.t
  val fill : ?color:Mlpost.Color.t -> Mlpost.Path.t -> Mlpost.Command.t
  val draw_pic : Mlpost.Picture.t -> Mlpost.Command.t
  val externalimage :
    string ->
    [ `Exact of Mlpost.Num.t * Mlpost.Num.t
    | `Height of Mlpost.Num.t
    | `Inside of Mlpost.Num.t * Mlpost.Num.t
    | `None
    | `Width of Mlpost.Num.t ] -> Mlpost.Command.t
  val nop : Mlpost.Command.t
  val append : Mlpost.Command.t -> Mlpost.Command.t -> Mlpost.Command.t
  val ( ++ ) : Mlpost.Command.t -> Mlpost.Command.t -> Mlpost.Command.t
  val seq : Mlpost.Command.t list -> Mlpost.Command.t
  val iter : int -> int -> (int -> Mlpost.Command.t) -> Mlpost.Command.t
  val iterl : ('-> Mlpost.Command.t) -> 'a list -> Mlpost.Command.t
  type hposition = [ `Center | `Left | `Right ]
  type vposition = [ `Bot | `Center | `Top ]
  type position =
      [ `Bot
      | `Center
      | `Left
      | `Lowleft
      | `Lowright
      | `Right
      | `Top
      | `Upleft
      | `Upright ]
  val label :
    ?pos:Mlpost.Command.position ->
    Mlpost.Picture.t -> Mlpost.Point.t -> Mlpost.Command.t
  val dotlabel :
    ?pos:Mlpost.Command.position ->
    Mlpost.Picture.t -> Mlpost.Point.t -> Mlpost.Command.t
end