Adds support for list and map.

This closes #9.
Replaces if else clauses that were used to wrap strings with wrapWhen.