Are you looking for something like this? import std.typecons; import std.traits;
alias yes = Nullable!int; struct no {} template isNullable(T : Nullable!X, X) { enum isNullable = true; } template isNullable(T) { enum isNullable = false; } void main() { static assert(isNullable!yes); static assert(!isNullable!no); }