Improve indentation
Polish docs
Some renames to improve readability
Move internal code to bottom of the module
Cosmetic
Qualified import for `State.get`, `State.modify`.

This improves readibility.
Add type signatures to `runTest` and `runGroup`
Extract `runTest` and `runGroup` to the top-level