Namer

Still working on making the test cases pass, but I very much like the visitors :) .
`setDecl` or `setDeclIfExists`