Canonical graph generation made generic
Merge resolved