combine : ('a -> 'a -> 'a) -> ('a -> bool) -> ('b, 'a) func -> ('b, 'a) func -> ('b, 'a) func
# let f = itlist I [1 |-> 2; 2 |-> 3; 3 |-> 6] undefined
and g = itlist I [1 |-> 5; 2 |-> -3] undefined;;
val f : (int, int) func =
val g : (int, int) func =
# graph(combine (+) (fun x -> x = 0) f g);;
val it : (int * int) list = [(1, 7); (3, 6)]