solution to depth-first-search
address comments raised in issue #46 (https://github.com/ocaml/ocaml.org/pull/480#issuecomment-43432958)
improve in light of further review comments
more improvements thanks to christophe's review
don't bother with record for graph representation any longer - overkill
make tuple at call site, not when building initial state
grammar fix and simplify print
phrase as fold; incorporate christophe's feedback
further simplifications
further simplifications
fix silly error and merge conflict
call fn on vertex discovery (not on vertex finishing)
Hide the solution to "Depth-first order graph traversal"
Merge Shayne Fletcher solution to "Depth-first order graph traversal"