`type t`
`module V : sig ... end`
`module E : sig ... end`
`val iter_vertex : (V.t -> unit) -> t -> unit`
`val iter_edges_e : (E.t -> unit) -> t -> unit`

Graph, vertex and edge attributes.

`val graph_attributes : t -> NeatoAttributes.graph list`
`val default_vertex_attributes : t -> NeatoAttributes.vertex list`
`val vertex_name : V.t -> string`
`val vertex_attributes : V.t -> NeatoAttributes.vertex list`
`val get_subgraph : V.t -> NeatoAttributes.subgraph option`

The box (if exists) which the vertex belongs to. Boxes with same names are not distinguished and so they should have the same attributes.

`val default_edge_attributes : t -> NeatoAttributes.edge list`
`val edge_attributes : E.t -> NeatoAttributes.edge list`