I\'m writing a Ruby module for creating directed acyclic graph data structures, which will include all the functionality to add/remove nodes, edges, prevent cycles, and main