With 2.058 the single-letter function can become: auto u = (int a, int b) => cast(ubyte)uniform(a, b);
It's not much of savings in typing. The only problem is I can't seem to make it static: static u = (int a, int b) => cast(ubyte)uniform(a, b); Error: non-constant nested delegate literal expression __lambda1 It would be better if you didn't have to specify the argument types. I think bear asked for templated lambdas, so this could eventually become: auto u = (a, b) => cast(ubyte)uniform(a, b); Which would make 'u' a template. I'm not sure what the exact syntax was that was requested though.