functor (G : G) ->
functor
(A : sig
type data
type label = G.E.label
type vertex = G.V.t
type cfg = G.t
val direction : direction
val join : data -> data -> data
val equal : data -> data -> bool
val analyze : label -> data -> data
end) ->
sig val analyze : (G.V.t -> A.data) -> A.cfg -> G.V.t -> A.data end