Implement regions.
Add region tests and documentation.