# Module Sig

    module Sig: sig .. end

Signatures for graph implementations.

## Signatures for graph implementations

    module type VERTEX = sig .. end

Signature for vertices.

    module type EDGE = sig .. end

Signature for edges.

    module type G = sig .. end

Common signature for all graphs.

    module type P = sig .. end

Signature for persistent (i.e.

    module type I = sig .. end

Signature for imperative (i.e.

    module type MARK = sig .. end

Signature for marks on vertices.

    module type IM = sig .. end

Signature for imperative graphs with marks on vertices.

## Signature for ordered and hashable types

    module type ANY_TYPE = sig .. end

Signature with only an abstract type.

    module type ORDERED_TYPE = sig .. end

Signature equivalent to `Set.OrderedType`.

    module type ORDERED_TYPE_DFT = sig .. end

Signature equivalent to `Set.OrderedType` with a default value.

    module type HASHABLE = sig .. end

Signature equivalent to `Hashtbl.HashedType`.

    module type COMPARABLE = sig .. end

Signature merging `Sig.ORDERED_TYPE` and `Sig.HASHABLE`.