Start working on the write path.

Add a test group for the write path.
Add a couple of basic tests for the write path
Handle a large set of variants in the output path.
Implement composite maps.