Some example code: import std.typecons;
Nullable!int unreliable1(in int val) pure nothrow { if (val == 0) { return typeof(return)(); } else { return typeof(return)(val); } } Nullable!(int, 0) unreliable2(in int val) pure nothrow { if (val == 0) { return typeof(return)(); } else { return typeof(return)(val); } } void main() { auto nx1 = unreliable1(10); auto nx2 = unreliable2(10); } Bye, bearophile