Just found out that when I replace struct NotNull(T) { T obj; } with (http://arsdnet.net/dcode/notnull.d)'s definition of NotNull it all makes sense. Greets.