https://dlang.org/phobos/std_traits.html#isSafe https://dlang.org/phobos/std_traits.html#isUnsafe Implementation: template isUnsafe(alias func) { enum isUnsafe = !isSafe!func; } Why do we need both?