H. S. Teoh:
It looks like I may have to sort out some issues with compiler bugsbefore officially posting this article, though, since the code apparently fails to compile with many versions of DMD. :-(
If not already present, I suggest you to put a reduced version of the problems you have found (with map or something else) in Bugzilla. (Otherwise I'll try to do it later).
Bye, bearophile