REBASEME: Lazy empty() is a little more involved
REBASEME: Graph as lib
MSP: Move Generator into Graph/ subdir