Implement an idiom transformer, fix macros to support it
* Tune Idiom.$ type, so one could build chains of idiom transformations,
* Provide test cases