sig
  type raw = {
    raw_contents : RawContent.raw list;
    raw_anchor : float * float;
  }
  type t =
      Node of Diagrams.Node.t
    | Matrix of Diagrams.Matrix.t
    | Matrix3d of Diagrams.Matrix3d.t
    | Edge of Diagrams.Edge.t
    | Gentity of Diagrams.gentity
    | Raw of Diagrams.Entity.raw
  val to_raw_list : Diagrams.Entity.t -> RawContent.raw list
  val anchor : Diagrams.Entity.t -> Diagrams.anchor -> Diagrams.Point.t
  val order :
    int -> RawContent.raw list -> RawContent.raw list -> RawContent.raw list
  val to_contents : Diagrams.Entity.t list -> RawContent.raw list
end