Set.py contains two implementations of a set.  This example demonstrates factory method pattern, template methood, iterator/generator, factory function, etc.