This code: T tFunc(alias F, T)(T n) { n.F; return n; } Produces this error: Error: no property 'F' for type 'int[]' (or whatever type I use). The alias rules for functions seem to be incompatible with UFCS, F(n) works fine. What are the rewrite steps here? Is this necessary or an oversight? Not very uniform function call syntax.