Using a templated alias to provide a cleaner public interface to a private implementation that has a more complex interface).
Yep, I also used this feature to restrict instantiations for a template function to a known finite set:
private void foo(alias func)() { ... func(); ... } public alias foo!f bar; public alias foo!g bla;