assigns Macros to allow custom/complicated assignment for Nim. Allows for overloading with typed macros. Examples in docs and in tests. Compare with fusion/matching.