Cleaning up lexical use of monads
Split Unique out of transform state
Split transformer state some. fixes #4
Factored duplicated walk code into own file