How to address this? There are two ways here, it seems. The first one is to take the matter into my own hands and wrap a generic struct with a byte and the target primitive type in question. This can be an elegant solution but comes without the help of .NET CLR in boxing and unboxing behavior, in addition to the inelegant usage of .value all over the place. The other is to keep the fact outside of the primitive types themselves and maintain them in the declaring class. This solution is even dirtier as it brings the problem of keeping the value and flags in sync (you don't want to get a null in the flag while the value is 1, assuming 1 is a meaningful number).
The best solution would be to inherit from Nullable and be able to manipulate the byte myself. However, .NET would NOT allow you to inherit from a struct. So this is not workable.
Thus, I am trying to simulate the Nullable