functor (G_Src : E_SRC->
  functor (G_Dst : E_DST->
    sig val map : (G_Src.E.t -> G_Dst.edge) -> G_Src.t -> G_Dst.t end