I started a not null struct for phobos but then had to move, added another job, and other real life stuff that meant I haven't finished it yet.
Fairly usable though. Look for struct NotNull: https://github.com/adamdruppe/phobos/blob/0c97414bb4aa3c748caa42948ffec25f8a291300/std/typecons.d (also a pull request, but for some reason, my changes to never updated here, so the pull request is out of date and temporarily closed https://github.com/D-Programming-Language/phobos/pull/477 )
