somewhat working example with context manager.
Reorg and some more documentation.
More info.

New helper function for attrs, starting work on dupes