functor (G : G_FORD_FULKERSON->
  functor
    (F : sig
           type label = G.E.label
           and t
           val max_capacity : Flow.FLOW.label -> Flow.FLOW.t
           val min_capacity : Flow.FLOW.label -> Flow.FLOW.t
           val flow : Flow.FLOW.label -> Flow.FLOW.t
           val add : Flow.FLOW.t -> Flow.FLOW.t -> Flow.FLOW.t
           val sub : Flow.FLOW.t -> Flow.FLOW.t -> Flow.FLOW.t
           val zero : Flow.FLOW.t
           val compare : Flow.FLOW.t -> Flow.FLOW.t -> int
         end->
    sig val maxflow : G.t -> G.V.t -> G.V.t -> (G.E.t -> F.t) * F.t end