Macro joining Thrift structs.

ad 1) In my opinion it does, first you add a name to certain logic and separates it

ad 3) thats not completly true check out `TransformMacro` reason being all of this helper methods use `import c.universe._` and have to be private to the `impl` function