Get rid of candidate gen
Handle singletons without special-case functionality
Delete dead code