renamed Graph to PersistentGraph, not to collide with OCamlGraph