It expresses intuitively, "Something which is exactly a nothing", so naturally, I would categorize that as a nothing directly of course. And you've just done precisely that with your code; foo = Some None => set that field to NULL could only represent saying that field is just exactly nothing directly. So, it's just like I said-you have to deal with the instance because it comes up in practice, and pragmatically we have to represent such cases in machine code as has been discussed. But in practicality almost never would an author sensibly keep the expanded form of Some None directly, it shows up due to code combinations only to be reduced.