Reply to bearophile,
> Andrei Alexandrescu:
>
>> I guess this would work better:
>> CommonType!(Tx, Ty) lazyOr(Tx, Ty)(Tx x, lazy Ty y) { ... }
> What's the improvement?
class C {}
class D1 : C {}
class D2 : C {}
D1 d1;
D2 d2;
auto r = lazyOr(d1, d2);
> (And I think that code of mine gives a better error message.)
> Bye,
> bearophile