Private initializer taking a generator producer.
Use the private initializer in the public one.
Advance when recurring.
Spacing.
Merge pull request #3 from robrix/fix-infinite-recursion

Fix infinite recursion