functor (O : Map.OrderedType->   sig     type vertex = O.t     type 'a t     val as_graph : 'a t -> (vertex, 'a) graph     val empty : 'a t     val add_edge : vertex -> '-> vertex -> 'a t -> 'a t     val remove_edge : vertex -> vertex -> 'a t -> 'a t     val add : vertex -> 'a t -> 'a t     val remove : vertex -> 'a t -> 'a t     val union : 'a t -> 'a t -> 'a t     val vertices : 'a t -> vertex sequence     val vertices_l : 'a t -> vertex list     val of_list : (vertex * 'a * vertex) list -> 'a t     val add_list : (vertex * 'a * vertex) list -> 'a t -> 'a t     val to_list : 'a t -> (vertex * 'a * vertex) list     val of_seq : (vertex * 'a * vertex) sequence -> 'a t     val add_seq : (vertex * 'a * vertex) sequence -> 'a t -> 'a t     val to_seq : 'a t -> (vertex * 'a * vertex) sequence   end