Remove duplicate do code
Strengthen type declaration
Flesh out iteration module

* add asd and package files
* add a stub docstring file
* better conditions