Description: A paper by Will Clinger and Jonathan Rees (1991) which describes a modified form of Kohlbecker's algorithm for reliably hygenic macro expansion in block-structured languages where macros are source-to-source transformations specified using a high-level pattern language, all running in O(n) time.