This is the pattern I've been using in C# too. I've tried functional concepts like "either" but the language fights you and it's an added complexity. Nice idea using implicit operators. I'm stealing that.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.