Using Discriminated Unions in C# for Better Error Handling | Hacker News Reader