Fix a bug in `@transform` when it's called as a macro.
Support Associative types with `@transform`.