Another possible syntax is, given the talked about: alias name = type; syntax, we could just use that in combination with "anonymous templates": alias X11 = template { @property auto display() { return _display; } } Though, now that I look at it I'm kinda just like parameterless templates: template X11 { ... }