The structure of the code could be cleaner:
1 Flatten graph::avl_graph subpackage into graph
2. Move graph::memory_backing to memory_backing
3. Generics order for Dawg<E, N> should match Graph<N, E> (and rename W -> N)
There are probably lots of other opportunities to improve readability