I think D has some major problems. The code is relatively straight forward and works fine for a few interfaces. Nothing complex is happening in the process except for a little CT reflection.
I will try to split up the Generating function and maybe it will help. I thought someone said that it creates more symbols and is worse though.
