As the OP of this thread I want to say that I think nullable is the solution http://dlang.org/phobos/std_typecons.html but I dislike how I cant pass 5 or null to a parameter that is nullable!int, nullable!string