let print_graph f () =
fprintf f "@[<hv0>@[<hv2>{:";
fold_cache begin fun k v () ->
if not (Resources.is_empty v.dependencies) then
fprintf f "@ @[<2>%a =>@ %a@];" print k Resources.print v.dependencies
end ();
fprintf f "@]@ :}@]"