On Monday, 12 March 2018 at 16:51:06 UTC, H. S. Teoh wrote:
For example, today you can already make opBinary() return something other than the parent type, and use alias this to make it decay to the parent type.
Sounds like this: https://en.wikipedia.org/wiki/Expression_templates