Unit tests all pass (for now). Committing before I get struck by lightning.
Remove expensive asserts, add profiling code for comparison with builtin set