Storing everything in a Directed Acyclic Graph (DAG)
McGill University, School of Computer Science DATA STRUCTURES AND ALGORITHMS, Topic #30: DIRECTED ACYCLIC GRAPHS
J. Gibbons. An Initial-Algebra Approach to Directed Acyclic Graphs.