I think this is a nice improvement. Great! It can go a little further. We can sort of create lambda functions in C++ using a little trick - local structs with member functions. This trick is done elsewhere in dmd, such as ParamUnique and ParamExact in func.c.